/linux-4.4.14/drivers/md/ |
H A D | faulty.c | 94 static int check_mode(struct faulty_conf *conf, int mode) check_mode() argument 96 if (conf->period[mode] == 0 && check_mode() 97 atomic_read(&conf->counters[mode]) <= 0) check_mode() 101 if (atomic_dec_and_test(&conf->counters[mode])) { check_mode() 102 if (conf->period[mode]) check_mode() 103 atomic_set(&conf->counters[mode], conf->period[mode]); check_mode() 109 static int check_sector(struct faulty_conf *conf, sector_t start, sector_t end, int dir) check_sector() argument 113 for (i=0; i<conf->nfaults; i++) check_sector() 114 if (conf->faults[i] >= start && check_sector() 115 conf->faults[i] < end) { check_sector() 117 switch (conf->modes[i] * 2 + dir) { check_sector() 122 conf->modes[i] = NoPersist; check_sector() 133 static void add_sector(struct faulty_conf *conf, sector_t start, int mode) add_sector() argument 136 int n = conf->nfaults; add_sector() 137 for (i=0; i<conf->nfaults; i++) add_sector() 138 if (conf->faults[i] == start) { add_sector() 140 case NoPersist: conf->modes[i] = mode; return; add_sector() 142 if (conf->modes[i] == ReadPersistent || add_sector() 143 conf->modes[i] == ReadFixable) add_sector() 144 conf->modes[i] = AllPersist; add_sector() 146 conf->modes[i] = WritePersistent; add_sector() 149 if (conf->modes[i] == WritePersistent) add_sector() 150 conf->modes[i] = AllPersist; add_sector() 152 conf->modes[i] = ReadPersistent; add_sector() 155 if (conf->modes[i] == WritePersistent || add_sector() 156 conf->modes[i] == ReadPersistent) add_sector() 157 conf->modes[i] = AllPersist; add_sector() 159 conf->modes[i] = ReadFixable; add_sector() 162 } else if (conf->modes[i] == NoPersist) add_sector() 167 conf->faults[n] = start; add_sector() 168 conf->modes[n] = mode; add_sector() 169 if (conf->nfaults == n) add_sector() 170 conf->nfaults = n+1; add_sector() 175 struct faulty_conf *conf = mddev->private; make_request() local 180 if (atomic_read(&conf->counters[WriteAll])) { make_request() 188 if (check_sector(conf, bio->bi_iter.bi_sector, make_request() 191 if (check_mode(conf, WritePersistent)) { make_request() 192 add_sector(conf, bio->bi_iter.bi_sector, make_request() 196 if (check_mode(conf, WriteTransient)) make_request() 200 if (check_sector(conf, bio->bi_iter.bi_sector, make_request() 203 if (check_mode(conf, ReadTransient)) make_request() 205 if (check_mode(conf, ReadPersistent)) { make_request() 206 add_sector(conf, bio->bi_iter.bi_sector, make_request() 210 if (check_mode(conf, ReadFixable)) { make_request() 211 add_sector(conf, bio->bi_iter.bi_sector, make_request() 219 b->bi_bdev = conf->rdev->bdev; make_request() 224 bio->bi_bdev = conf->rdev->bdev; make_request() 231 struct faulty_conf *conf = mddev->private; status() local 234 if ((n=atomic_read(&conf->counters[WriteTransient])) != 0) status() 236 n, conf->period[WriteTransient]); status() 238 if ((n=atomic_read(&conf->counters[ReadTransient])) != 0) status() 240 n, conf->period[ReadTransient]); status() 242 if ((n=atomic_read(&conf->counters[WritePersistent])) != 0) status() 244 n, conf->period[WritePersistent]); status() 246 if ((n=atomic_read(&conf->counters[ReadPersistent])) != 0) status() 248 n, conf->period[ReadPersistent]); status() 251 if ((n=atomic_read(&conf->counters[ReadFixable])) != 0) status() 253 n, conf->period[ReadFixable]); status() 255 if ((n=atomic_read(&conf->counters[WriteAll])) != 0) status() 258 seq_printf(seq, " nfaults=%d", conf->nfaults); status() 266 struct faulty_conf *conf = mddev->private; reshape() local 273 conf->nfaults = 0; reshape() 277 conf->period[i] = 0; reshape() 278 atomic_set(&conf->counters[i], 0); reshape() 281 conf->period[mode] = count; reshape() 283 atomic_set(&conf->counters[mode], count); reshape() 306 struct faulty_conf *conf; run() local 311 conf = kmalloc(sizeof(*conf), GFP_KERNEL); run() 312 if (!conf) run() 316 atomic_set(&conf->counters[i], 0); run() 317 conf->period[i] = 0; run() 319 conf->nfaults = 0; run() 322 conf->rdev = rdev; rdev_for_each() 328 mddev->private = conf; 337 struct faulty_conf *conf = priv; faulty_free() local 339 kfree(conf); faulty_free()
|
H A D | raid1.c | 69 static void allow_barrier(struct r1conf *conf, sector_t start_next_window, 71 static void lower_barrier(struct r1conf *conf); 181 static void put_all_bios(struct r1conf *conf, struct r1bio *r1_bio) put_all_bios() argument 185 for (i = 0; i < conf->raid_disks * 2; i++) { put_all_bios() 195 struct r1conf *conf = r1_bio->mddev->private; free_r1bio() local 197 put_all_bios(conf, r1_bio); free_r1bio() 198 mempool_free(r1_bio, conf->r1bio_pool); free_r1bio() 203 struct r1conf *conf = r1_bio->mddev->private; put_buf() local 206 for (i = 0; i < conf->raid_disks * 2; i++) { put_buf() 209 rdev_dec_pending(conf->mirrors[i].rdev, r1_bio->mddev); put_buf() 212 mempool_free(r1_bio, conf->r1buf_pool); put_buf() 214 lower_barrier(conf); put_buf() 221 struct r1conf *conf = mddev->private; reschedule_retry() local 223 spin_lock_irqsave(&conf->device_lock, flags); reschedule_retry() 224 list_add(&r1_bio->retry_list, &conf->retry_list); reschedule_retry() 225 conf->nr_queued ++; reschedule_retry() 226 spin_unlock_irqrestore(&conf->device_lock, flags); reschedule_retry() 228 wake_up(&conf->wait_barrier); reschedule_retry() 241 struct r1conf *conf = r1_bio->mddev->private; call_bio_endio() local 247 spin_lock_irqsave(&conf->device_lock, flags); call_bio_endio() 250 spin_unlock_irqrestore(&conf->device_lock, flags); call_bio_endio() 255 wake_up(&conf->wait_barrier); call_bio_endio() 268 allow_barrier(conf, start_next_window, bi_sector); call_bio_endio() 293 struct r1conf *conf = r1_bio->mddev->private; update_head_pos() local 295 conf->mirrors[disk].head_position = update_head_pos() 305 struct r1conf *conf = r1_bio->mddev->private; find_bio_disk() local 306 int raid_disks = conf->raid_disks; find_bio_disk() 323 struct r1conf *conf = r1_bio->mddev->private; raid1_end_read_request() local 339 spin_lock_irqsave(&conf->device_lock, flags); raid1_end_read_request() 340 if (r1_bio->mddev->degraded == conf->raid_disks || raid1_end_read_request() 341 (r1_bio->mddev->degraded == conf->raid_disks-1 && raid1_end_read_request() 342 test_bit(In_sync, &conf->mirrors[mirror].rdev->flags))) raid1_end_read_request() 344 spin_unlock_irqrestore(&conf->device_lock, flags); raid1_end_read_request() 349 rdev_dec_pending(conf->mirrors[mirror].rdev, conf->mddev); raid1_end_read_request() 358 mdname(conf->mddev), raid1_end_read_request() 359 bdevname(conf->mirrors[mirror].rdev->bdev, raid1_end_read_request() 407 struct r1conf *conf = r1_bio->mddev->private; raid1_end_write_request() local 417 &conf->mirrors[mirror].rdev->flags); raid1_end_write_request() 419 &conf->mirrors[mirror].rdev->flags)) raid1_end_write_request() 421 conf->mddev->recovery); raid1_end_write_request() 448 if (test_bit(In_sync, &conf->mirrors[mirror].rdev->flags) && raid1_end_write_request() 449 !test_bit(Faulty, &conf->mirrors[mirror].rdev->flags)) raid1_end_write_request() 453 if (is_badblock(conf->mirrors[mirror].rdev, raid1_end_write_request() 462 if (test_bit(WriteMostly, &conf->mirrors[mirror].rdev->flags)) raid1_end_write_request() 486 rdev_dec_pending(conf->mirrors[mirror].rdev, raid1_end_write_request() 487 conf->mddev); raid1_end_write_request() 513 static int read_balance(struct r1conf *conf, struct r1bio *r1_bio, int *max_sectors) read_balance() argument 544 if ((conf->mddev->recovery_cp < this_sector + sectors) || read_balance() 545 (mddev_is_clustered(conf->mddev) && read_balance() 546 md_cluster_ops->area_resyncing(conf->mddev, READ, this_sector, read_balance() 552 for (disk = 0 ; disk < conf->raid_disks * 2 ; disk++) { read_balance() 559 rdev = rcu_dereference(conf->mirrors[disk].rdev); read_balance() 619 dist = abs(this_sector - conf->mirrors[disk].head_position); read_balance() 625 if (conf->mirrors[disk].next_seq_sect == this_sector read_balance() 628 struct raid1_info *mirror = &conf->mirrors[disk]; read_balance() 688 rdev = rcu_dereference(conf->mirrors[best_disk].rdev); read_balance() 696 rdev_dec_pending(rdev, conf->mddev); read_balance() 701 if (conf->mirrors[best_disk].next_seq_sect != this_sector) read_balance() 702 conf->mirrors[best_disk].seq_start = this_sector; read_balance() 704 conf->mirrors[best_disk].next_seq_sect = this_sector + sectors; read_balance() 714 struct r1conf *conf = mddev->private; raid1_congested() local 718 conf->pending_count >= max_queued_requests) raid1_congested() 722 for (i = 0; i < conf->raid_disks * 2; i++) { raid1_congested() 723 struct md_rdev *rdev = rcu_dereference(conf->mirrors[i].rdev); raid1_congested() 742 static void flush_pending_writes(struct r1conf *conf) flush_pending_writes() argument 747 spin_lock_irq(&conf->device_lock); flush_pending_writes() 749 if (conf->pending_bio_list.head) { flush_pending_writes() 751 bio = bio_list_get(&conf->pending_bio_list); flush_pending_writes() 752 conf->pending_count = 0; flush_pending_writes() 753 spin_unlock_irq(&conf->device_lock); flush_pending_writes() 756 bitmap_unplug(conf->mddev->bitmap); flush_pending_writes() 757 wake_up(&conf->wait_barrier); flush_pending_writes() 771 spin_unlock_irq(&conf->device_lock); flush_pending_writes() 795 static void raise_barrier(struct r1conf *conf, sector_t sector_nr) raise_barrier() argument 797 spin_lock_irq(&conf->resync_lock); raise_barrier() 800 wait_event_lock_irq(conf->wait_barrier, !conf->nr_waiting, raise_barrier() 801 conf->resync_lock); raise_barrier() 804 conf->barrier++; raise_barrier() 805 conf->next_resync = sector_nr; raise_barrier() 816 wait_event_lock_irq(conf->wait_barrier, raise_barrier() 817 !conf->array_frozen && raise_barrier() 818 conf->barrier < RESYNC_DEPTH && raise_barrier() 819 conf->current_window_requests == 0 && raise_barrier() 820 (conf->start_next_window >= raise_barrier() 821 conf->next_resync + RESYNC_SECTORS), raise_barrier() 822 conf->resync_lock); raise_barrier() 824 conf->nr_pending++; raise_barrier() 825 spin_unlock_irq(&conf->resync_lock); raise_barrier() 828 static void lower_barrier(struct r1conf *conf) lower_barrier() argument 831 BUG_ON(conf->barrier <= 0); lower_barrier() 832 spin_lock_irqsave(&conf->resync_lock, flags); lower_barrier() 833 conf->barrier--; lower_barrier() 834 conf->nr_pending--; lower_barrier() 835 spin_unlock_irqrestore(&conf->resync_lock, flags); lower_barrier() 836 wake_up(&conf->wait_barrier); lower_barrier() 839 static bool need_to_wait_for_sync(struct r1conf *conf, struct bio *bio) need_to_wait_for_sync() argument 843 if (conf->array_frozen || !bio) need_to_wait_for_sync() 845 else if (conf->barrier && bio_data_dir(bio) == WRITE) { need_to_wait_for_sync() 846 if ((conf->mddev->curr_resync_completed need_to_wait_for_sync() 848 (conf->next_resync + NEXT_NORMALIO_DISTANCE need_to_wait_for_sync() 858 static sector_t wait_barrier(struct r1conf *conf, struct bio *bio) wait_barrier() argument 862 spin_lock_irq(&conf->resync_lock); wait_barrier() 863 if (need_to_wait_for_sync(conf, bio)) { wait_barrier() 864 conf->nr_waiting++; wait_barrier() 871 * that queue to allow conf->start_next_window wait_barrier() 874 wait_event_lock_irq(conf->wait_barrier, wait_barrier() 875 !conf->array_frozen && wait_barrier() 876 (!conf->barrier || wait_barrier() 877 ((conf->start_next_window < wait_barrier() 878 conf->next_resync + RESYNC_SECTORS) && wait_barrier() 881 conf->resync_lock); wait_barrier() 882 conf->nr_waiting--; wait_barrier() 886 if (bio->bi_iter.bi_sector >= conf->next_resync) { wait_barrier() 887 if (conf->start_next_window == MaxSector) wait_barrier() 888 conf->start_next_window = wait_barrier() 889 conf->next_resync + wait_barrier() 892 if ((conf->start_next_window + NEXT_NORMALIO_DISTANCE) wait_barrier() 894 conf->next_window_requests++; wait_barrier() 896 conf->current_window_requests++; wait_barrier() 897 sector = conf->start_next_window; wait_barrier() 901 conf->nr_pending++; wait_barrier() 902 spin_unlock_irq(&conf->resync_lock); wait_barrier() 906 static void allow_barrier(struct r1conf *conf, sector_t start_next_window, allow_barrier() argument 911 spin_lock_irqsave(&conf->resync_lock, flags); allow_barrier() 912 conf->nr_pending--; allow_barrier() 914 if (start_next_window == conf->start_next_window) { allow_barrier() 915 if (conf->start_next_window + NEXT_NORMALIO_DISTANCE allow_barrier() 917 conf->next_window_requests--; allow_barrier() 919 conf->current_window_requests--; allow_barrier() 921 conf->current_window_requests--; allow_barrier() 923 if (!conf->current_window_requests) { allow_barrier() 924 if (conf->next_window_requests) { allow_barrier() 925 conf->current_window_requests = allow_barrier() 926 conf->next_window_requests; allow_barrier() 927 conf->next_window_requests = 0; allow_barrier() 928 conf->start_next_window += allow_barrier() 931 conf->start_next_window = MaxSector; allow_barrier() 934 spin_unlock_irqrestore(&conf->resync_lock, flags); allow_barrier() 935 wake_up(&conf->wait_barrier); allow_barrier() 938 static void freeze_array(struct r1conf *conf, int extra) freeze_array() argument 951 spin_lock_irq(&conf->resync_lock); freeze_array() 952 conf->array_frozen = 1; freeze_array() 953 wait_event_lock_irq_cmd(conf->wait_barrier, freeze_array() 954 conf->nr_pending == conf->nr_queued+extra, freeze_array() 955 conf->resync_lock, freeze_array() 956 flush_pending_writes(conf)); freeze_array() 957 spin_unlock_irq(&conf->resync_lock); freeze_array() 959 static void unfreeze_array(struct r1conf *conf) unfreeze_array() argument 962 spin_lock_irq(&conf->resync_lock); unfreeze_array() 963 conf->array_frozen = 0; unfreeze_array() 964 wake_up(&conf->wait_barrier); unfreeze_array() 965 spin_unlock_irq(&conf->resync_lock); unfreeze_array() 1014 struct r1conf *conf = mddev->private; raid1_unplug() local 1018 spin_lock_irq(&conf->device_lock); raid1_unplug() 1019 bio_list_merge(&conf->pending_bio_list, &plug->pending); raid1_unplug() 1020 conf->pending_count += plug->pending_cnt; raid1_unplug() 1021 spin_unlock_irq(&conf->device_lock); raid1_unplug() 1022 wake_up(&conf->wait_barrier); raid1_unplug() 1031 wake_up(&conf->wait_barrier); raid1_unplug() 1049 struct r1conf *conf = mddev->private; make_request() local 1091 prepare_to_wait(&conf->wait_barrier, make_request() 1101 finish_wait(&conf->wait_barrier, &w); make_request() 1104 start_next_window = wait_barrier(conf, bio); make_request() 1113 r1_bio = mempool_alloc(conf->r1bio_pool, GFP_NOIO); make_request() 1138 rdisk = read_balance(conf, r1_bio, &max_sectors); make_request() 1145 mirror = conf->mirrors + rdisk; make_request() 1180 spin_lock_irq(&conf->device_lock); make_request() 1185 spin_unlock_irq(&conf->device_lock); make_request() 1193 r1_bio = mempool_alloc(conf->r1bio_pool, GFP_NOIO); make_request() 1210 if (conf->pending_count >= max_queued_requests) { make_request() 1212 wait_event(conf->wait_barrier, make_request() 1213 conf->pending_count < max_queued_requests); make_request() 1226 disks = conf->raid_disks * 2; make_request() 1233 struct md_rdev *rdev = rcu_dereference(conf->mirrors[i].rdev); make_request() 1241 if (i < conf->raid_disks) make_request() 1300 rdev_dec_pending(conf->mirrors[j].rdev, mddev); make_request() 1302 allow_barrier(conf, start_next_window, bio->bi_iter.bi_sector); make_request() 1304 start_next_window = wait_barrier(conf, bio); make_request() 1312 wait_event(conf->wait_barrier, make_request() 1322 spin_lock_irq(&conf->device_lock); make_request() 1327 spin_unlock_irq(&conf->device_lock); make_request() 1369 if (test_bit(WriteMostly, &conf->mirrors[i].rdev->flags)) make_request() 1376 conf->mirrors[i].rdev->data_offset); make_request() 1377 mbio->bi_bdev = conf->mirrors[i].rdev->bdev; make_request() 1390 spin_lock_irqsave(&conf->device_lock, flags); make_request() 1395 bio_list_add(&conf->pending_bio_list, mbio); make_request() 1396 conf->pending_count++; make_request() 1398 spin_unlock_irqrestore(&conf->device_lock, flags); make_request() 1410 r1_bio = mempool_alloc(conf->r1bio_pool, GFP_NOIO); make_request() 1422 wake_up(&conf->wait_barrier); make_request() 1427 struct r1conf *conf = mddev->private; status() local 1430 seq_printf(seq, " [%d/%d] [", conf->raid_disks, status() 1431 conf->raid_disks - mddev->degraded); status() 1433 for (i = 0; i < conf->raid_disks; i++) { status() 1434 struct md_rdev *rdev = rcu_dereference(conf->mirrors[i].rdev); status() 1445 struct r1conf *conf = mddev->private; error() local 1455 && (conf->raid_disks - mddev->degraded) == 1) { error() 1462 conf->recovery_disabled = mddev->recovery_disabled; error() 1466 spin_lock_irqsave(&conf->device_lock, flags); error() 1472 spin_unlock_irqrestore(&conf->device_lock, flags); error() 1483 mdname(mddev), conf->raid_disks - mddev->degraded); error() 1486 static void print_conf(struct r1conf *conf) print_conf() argument 1490 printk(KERN_DEBUG "RAID1 conf printout:\n"); print_conf() 1491 if (!conf) { print_conf() 1492 printk(KERN_DEBUG "(!conf)\n"); print_conf() 1495 printk(KERN_DEBUG " --- wd:%d rd:%d\n", conf->raid_disks - conf->mddev->degraded, print_conf() 1496 conf->raid_disks); print_conf() 1499 for (i = 0; i < conf->raid_disks; i++) { print_conf() 1501 struct md_rdev *rdev = rcu_dereference(conf->mirrors[i].rdev); print_conf() 1511 static void close_sync(struct r1conf *conf) close_sync() argument 1513 wait_barrier(conf, NULL); close_sync() 1514 allow_barrier(conf, 0, 0); close_sync() 1516 mempool_destroy(conf->r1buf_pool); close_sync() 1517 conf->r1buf_pool = NULL; close_sync() 1519 spin_lock_irq(&conf->resync_lock); close_sync() 1520 conf->next_resync = MaxSector - 2 * NEXT_NORMALIO_DISTANCE; close_sync() 1521 conf->start_next_window = MaxSector; close_sync() 1522 conf->current_window_requests += close_sync() 1523 conf->next_window_requests; close_sync() 1524 conf->next_window_requests = 0; close_sync() 1525 spin_unlock_irq(&conf->resync_lock); close_sync() 1531 struct r1conf *conf = mddev->private; raid1_spare_active() local 1542 spin_lock_irqsave(&conf->device_lock, flags); raid1_spare_active() 1543 for (i = 0; i < conf->raid_disks; i++) { raid1_spare_active() 1544 struct md_rdev *rdev = conf->mirrors[i].rdev; raid1_spare_active() 1545 struct md_rdev *repl = conf->mirrors[conf->raid_disks + i].rdev; raid1_spare_active() 1574 spin_unlock_irqrestore(&conf->device_lock, flags); raid1_spare_active() 1576 print_conf(conf); raid1_spare_active() 1582 struct r1conf *conf = mddev->private; raid1_add_disk() local 1587 int last = conf->raid_disks - 1; raid1_add_disk() 1589 if (mddev->recovery_disabled == conf->recovery_disabled) raid1_add_disk() 1604 conf->mirrors[rdev->saved_raid_disk].rdev == NULL) raid1_add_disk() 1608 p = conf->mirrors+mirror; raid1_add_disk() 1622 conf->fullsync = 1; raid1_add_disk() 1627 p[conf->raid_disks].rdev == NULL) { raid1_add_disk() 1633 conf->fullsync = 1; raid1_add_disk() 1634 rcu_assign_pointer(p[conf->raid_disks].rdev, rdev); raid1_add_disk() 1640 print_conf(conf); raid1_add_disk() 1646 struct r1conf *conf = mddev->private; raid1_remove_disk() local 1649 struct raid1_info *p = conf->mirrors + number; raid1_remove_disk() 1652 p = conf->mirrors + conf->raid_disks + number; raid1_remove_disk() 1654 print_conf(conf); raid1_remove_disk() 1665 mddev->recovery_disabled != conf->recovery_disabled && raid1_remove_disk() 1666 mddev->degraded < conf->raid_disks) { raid1_remove_disk() 1677 } else if (conf->mirrors[conf->raid_disks + number].rdev) { raid1_remove_disk() 1683 conf->mirrors[conf->raid_disks + number].rdev; raid1_remove_disk() 1684 freeze_array(conf, 0); raid1_remove_disk() 1687 conf->mirrors[conf->raid_disks + number].rdev = NULL; raid1_remove_disk() 1688 unfreeze_array(conf); raid1_remove_disk() 1696 print_conf(conf); raid1_remove_disk() 1723 struct r1conf *conf = mddev->private; end_sync_write() local 1742 &conf->mirrors[mirror].rdev->flags); end_sync_write() 1744 &conf->mirrors[mirror].rdev->flags)) end_sync_write() 1748 } else if (is_badblock(conf->mirrors[mirror].rdev, end_sync_write() 1752 !is_badblock(conf->mirrors[r1_bio->read_disk].rdev, end_sync_write() 1804 struct r1conf *conf = mddev->private; fix_sync_read_error() local 1825 rdev = conf->mirrors[d].rdev; fix_sync_read_error() 1834 if (d == conf->raid_disks * 2) fix_sync_read_error() 1851 for (d = 0; d < conf->raid_disks * 2; d++) { fix_sync_read_error() 1852 rdev = conf->mirrors[d].rdev; fix_sync_read_error() 1859 conf->recovery_disabled = fix_sync_read_error() 1877 d = conf->raid_disks * 2; fix_sync_read_error() 1881 rdev = conf->mirrors[d].rdev; fix_sync_read_error() 1892 d = conf->raid_disks * 2; fix_sync_read_error() 1896 rdev = conf->mirrors[d].rdev; fix_sync_read_error() 1921 struct r1conf *conf = mddev->private; process_checks() local 1928 for (i = 0; i < conf->raid_disks * 2; i++) { process_checks() 1942 conf->mirrors[i].rdev->data_offset; process_checks() 1943 b->bi_bdev = conf->mirrors[i].rdev->bdev; process_checks() 1959 for (primary = 0; primary < conf->raid_disks * 2; primary++) process_checks() 1963 rdev_dec_pending(conf->mirrors[primary].rdev, mddev); process_checks() 1967 for (i = 0; i < conf->raid_disks * 2; i++) { process_checks() 1996 rdev_dec_pending(conf->mirrors[i].rdev, mddev); process_checks() 2006 struct r1conf *conf = mddev->private; sync_request_write() local 2008 int disks = conf->raid_disks * 2; sync_request_write() 2036 md_sync_acct(conf->mirrors[i].rdev->bdev, bio_sectors(wbio)); sync_request_write() 2062 static void fix_read_error(struct r1conf *conf, int read_disk, fix_read_error() argument 2065 struct mddev *mddev = conf->mddev; fix_read_error() 2085 rdev = conf->mirrors[d].rdev; fix_read_error() 2093 conf->tmppage, READ, false)) fix_read_error() 2097 if (d == conf->raid_disks * 2) fix_read_error() 2104 struct md_rdev *rdev = conf->mirrors[read_disk].rdev; fix_read_error() 2113 d = conf->raid_disks * 2; fix_read_error() 2115 rdev = conf->mirrors[d].rdev; fix_read_error() 2119 conf->tmppage, WRITE); fix_read_error() 2125 d = conf->raid_disks * 2; fix_read_error() 2127 rdev = conf->mirrors[d].rdev; fix_read_error() 2131 conf->tmppage, READ)) { fix_read_error() 2151 struct r1conf *conf = mddev->private; narrow_write_error() local 2152 struct md_rdev *rdev = conf->mirrors[i].rdev; narrow_write_error() 2225 static void handle_sync_write_finished(struct r1conf *conf, struct r1bio *r1_bio) handle_sync_write_finished() argument 2229 for (m = 0; m < conf->raid_disks * 2 ; m++) { handle_sync_write_finished() 2230 struct md_rdev *rdev = conf->mirrors[m].rdev; handle_sync_write_finished() 2241 md_error(conf->mddev, rdev); handle_sync_write_finished() 2245 md_done_sync(conf->mddev, s, 1); handle_sync_write_finished() 2248 static void handle_write_finished(struct r1conf *conf, struct r1bio *r1_bio) handle_write_finished() argument 2252 for (m = 0; m < conf->raid_disks * 2 ; m++) handle_write_finished() 2254 struct md_rdev *rdev = conf->mirrors[m].rdev; handle_write_finished() 2258 rdev_dec_pending(rdev, conf->mddev); handle_write_finished() 2266 md_error(conf->mddev, handle_write_finished() 2267 conf->mirrors[m].rdev); handle_write_finished() 2271 rdev_dec_pending(conf->mirrors[m].rdev, handle_write_finished() 2272 conf->mddev); handle_write_finished() 2275 spin_lock_irq(&conf->device_lock); handle_write_finished() 2276 list_add(&r1_bio->retry_list, &conf->bio_end_io_list); handle_write_finished() 2277 conf->nr_queued++; handle_write_finished() 2278 spin_unlock_irq(&conf->device_lock); handle_write_finished() 2279 md_wakeup_thread(conf->mddev->thread); handle_write_finished() 2287 static void handle_read_error(struct r1conf *conf, struct r1bio *r1_bio) handle_read_error() argument 2291 struct mddev *mddev = conf->mddev; handle_read_error() 2306 freeze_array(conf, 1); handle_read_error() 2307 fix_read_error(conf, r1_bio->read_disk, handle_read_error() 2309 unfreeze_array(conf); handle_read_error() 2311 md_error(mddev, conf->mirrors[r1_bio->read_disk].rdev); handle_read_error() 2312 rdev_dec_pending(conf->mirrors[r1_bio->read_disk].rdev, conf->mddev); handle_read_error() 2317 disk = read_balance(conf, r1_bio, &max_sectors); handle_read_error() 2336 rdev = conf->mirrors[disk].rdev; handle_read_error() 2354 spin_lock_irq(&conf->device_lock); handle_read_error() 2359 spin_unlock_irq(&conf->device_lock); handle_read_error() 2363 r1_bio = mempool_alloc(conf->r1bio_pool, GFP_NOIO); handle_read_error() 2384 struct r1conf *conf = mddev->private; raid1d() local 2385 struct list_head *head = &conf->retry_list; raid1d() 2390 if (!list_empty_careful(&conf->bio_end_io_list) && raid1d() 2393 spin_lock_irqsave(&conf->device_lock, flags); raid1d() 2395 while (!list_empty(&conf->bio_end_io_list)) { raid1d() 2396 list_move(conf->bio_end_io_list.prev, &tmp); raid1d() 2397 conf->nr_queued--; raid1d() 2400 spin_unlock_irqrestore(&conf->device_lock, flags); raid1d() 2416 flush_pending_writes(conf); raid1d() 2418 spin_lock_irqsave(&conf->device_lock, flags); raid1d() 2420 spin_unlock_irqrestore(&conf->device_lock, flags); raid1d() 2425 conf->nr_queued--; raid1d() 2426 spin_unlock_irqrestore(&conf->device_lock, flags); raid1d() 2429 conf = mddev->private; raid1d() 2433 handle_sync_write_finished(conf, r1_bio); raid1d() 2438 handle_write_finished(conf, r1_bio); raid1d() 2440 handle_read_error(conf, r1_bio); raid1d() 2454 static int init_resync(struct r1conf *conf) init_resync() argument 2459 BUG_ON(conf->r1buf_pool); init_resync() 2460 conf->r1buf_pool = mempool_create(buffs, r1buf_pool_alloc, r1buf_pool_free, init_resync() 2461 conf->poolinfo); init_resync() 2462 if (!conf->r1buf_pool) init_resync() 2464 conf->next_resync = 0; init_resync() 2480 struct r1conf *conf = mddev->private; sync_request() local 2493 if (!conf->r1buf_pool) sync_request() 2494 if (init_resync(conf)) sync_request() 2508 conf->fullsync = 0; sync_request() 2511 close_sync(conf); sync_request() 2514 conf->cluster_sync_low = 0; sync_request() 2515 conf->cluster_sync_high = 0; sync_request() 2523 conf->fullsync == 0) { sync_request() 2531 !conf->fullsync && !test_bit(MD_RECOVERY_REQUESTED, &mddev->recovery)) { sync_request() 2542 mddev_is_clustered(mddev) && (sector_nr + 2 * RESYNC_SECTORS > conf->cluster_sync_high)); sync_request() 2543 r1_bio = mempool_alloc(conf->r1buf_pool, GFP_NOIO); sync_request() 2545 raise_barrier(conf, sector_nr); sync_request() 2562 for (i = 0; i < conf->raid_disks * 2; i++) { sync_request() 2567 rdev = rcu_dereference(conf->mirrors[i].rdev); sync_request() 2570 if (i < conf->raid_disks) sync_request() 2634 for (i = 0 ; i < conf->raid_disks * 2 ; i++) sync_request() 2636 struct md_rdev *rdev = conf->mirrors[i].rdev; sync_request() 2651 conf->recovery_disabled = mddev->recovery_disabled; sync_request() 2697 !conf->fullsync && sync_request() 2705 for (i = 0 ; i < conf->raid_disks * 2; i++) { sync_request() 2734 conf->cluster_sync_high < sector_nr + nr_sectors) { sync_request() 2735 conf->cluster_sync_low = mddev->curr_resync_completed; sync_request() 2736 conf->cluster_sync_high = conf->cluster_sync_low + CLUSTER_RESYNC_WINDOW_SECTORS; sync_request() 2739 conf->cluster_sync_low, sync_request() 2740 conf->cluster_sync_high); sync_request() 2748 for (i = 0; i < conf->raid_disks * 2 && read_targets; i++) { sync_request() 2776 struct r1conf *conf; setup_conf() local 2782 conf = kzalloc(sizeof(struct r1conf), GFP_KERNEL); setup_conf() 2783 if (!conf) setup_conf() 2786 conf->mirrors = kzalloc(sizeof(struct raid1_info) setup_conf() 2789 if (!conf->mirrors) setup_conf() 2792 conf->tmppage = alloc_page(GFP_KERNEL); setup_conf() 2793 if (!conf->tmppage) setup_conf() 2796 conf->poolinfo = kzalloc(sizeof(*conf->poolinfo), GFP_KERNEL); setup_conf() 2797 if (!conf->poolinfo) setup_conf() 2799 conf->poolinfo->raid_disks = mddev->raid_disks * 2; setup_conf() 2800 conf->r1bio_pool = mempool_create(NR_RAID1_BIOS, r1bio_pool_alloc, setup_conf() 2802 conf->poolinfo); setup_conf() 2803 if (!conf->r1bio_pool) setup_conf() 2806 conf->poolinfo->mddev = mddev; setup_conf() 2809 spin_lock_init(&conf->device_lock); rdev_for_each() 2817 disk = conf->mirrors + mddev->raid_disks + disk_idx; rdev_for_each() 2819 disk = conf->mirrors + disk_idx; rdev_for_each() 2829 conf->raid_disks = mddev->raid_disks; 2830 conf->mddev = mddev; 2831 INIT_LIST_HEAD(&conf->retry_list); 2832 INIT_LIST_HEAD(&conf->bio_end_io_list); 2834 spin_lock_init(&conf->resync_lock); 2835 init_waitqueue_head(&conf->wait_barrier); 2837 bio_list_init(&conf->pending_bio_list); 2838 conf->pending_count = 0; 2839 conf->recovery_disabled = mddev->recovery_disabled - 1; 2841 conf->start_next_window = MaxSector; 2842 conf->current_window_requests = conf->next_window_requests = 0; 2845 for (i = 0; i < conf->raid_disks * 2; i++) { 2847 disk = conf->mirrors + i; 2849 if (i < conf->raid_disks && 2850 disk[conf->raid_disks].rdev) { 2857 disk[conf->raid_disks].rdev; 2858 disk[conf->raid_disks].rdev = NULL; 2869 conf->fullsync = 1; 2874 conf->thread = md_register_thread(raid1d, mddev, "raid1"); 2875 if (!conf->thread) { 2882 return conf; 2885 if (conf) { 2886 mempool_destroy(conf->r1bio_pool); 2887 kfree(conf->mirrors); 2888 safe_put_page(conf->tmppage); 2889 kfree(conf->poolinfo); 2890 kfree(conf); 2898 struct r1conf *conf; run() local 2920 conf = setup_conf(mddev); run() 2922 conf = mddev->private; run() 2924 if (IS_ERR(conf)) run() 2925 return PTR_ERR(conf); run() 2940 for (i=0; i < conf->raid_disks; i++) 2941 if (conf->mirrors[i].rdev == NULL || 2942 !test_bit(In_sync, &conf->mirrors[i].rdev->flags) || 2943 test_bit(Faulty, &conf->mirrors[i].rdev->flags)) 2946 if (conf->raid_disks - mddev->degraded == 1) 2961 mddev->thread = conf->thread; 2962 conf->thread = NULL; 2963 mddev->private = conf; 2979 raid1_free(mddev, conf); 2986 struct r1conf *conf = priv; raid1_free() local 2988 mempool_destroy(conf->r1bio_pool); raid1_free() 2989 kfree(conf->mirrors); raid1_free() 2990 safe_put_page(conf->tmppage); raid1_free() 2991 kfree(conf->poolinfo); raid1_free() 2992 kfree(conf); raid1_free() 3030 * 2/ resize conf->mirrors raid1_reshape() 3034 * Then resize conf->mirrors and swap in the new r1bio pool. raid1_reshape() 3042 struct r1conf *conf = mddev->private; raid1_reshape() local 3065 if (raid_disks < conf->raid_disks) { raid1_reshape() 3067 for (d= 0; d < conf->raid_disks; d++) raid1_reshape() 3068 if (conf->mirrors[d].rdev) raid1_reshape() 3094 freeze_array(conf, 0); raid1_reshape() 3097 oldpool = conf->r1bio_pool; raid1_reshape() 3098 conf->r1bio_pool = newpool; raid1_reshape() 3100 for (d = d2 = 0; d < conf->raid_disks; d++) { raid1_reshape() 3101 struct md_rdev *rdev = conf->mirrors[d].rdev; raid1_reshape() 3114 kfree(conf->mirrors); raid1_reshape() 3115 conf->mirrors = newmirrors; raid1_reshape() 3116 kfree(conf->poolinfo); raid1_reshape() 3117 conf->poolinfo = newpoolinfo; raid1_reshape() 3119 spin_lock_irqsave(&conf->device_lock, flags); raid1_reshape() 3120 mddev->degraded += (raid_disks - conf->raid_disks); raid1_reshape() 3121 spin_unlock_irqrestore(&conf->device_lock, flags); raid1_reshape() 3122 conf->raid_disks = mddev->raid_disks = raid_disks; raid1_reshape() 3125 unfreeze_array(conf); raid1_reshape() 3137 struct r1conf *conf = mddev->private; raid1_quiesce() local 3141 wake_up(&conf->wait_barrier); raid1_quiesce() 3144 freeze_array(conf, 0); raid1_quiesce() 3147 unfreeze_array(conf); raid1_quiesce() 3158 struct r1conf *conf; raid1_takeover() local 3162 conf = setup_conf(mddev); raid1_takeover() 3163 if (!IS_ERR(conf)) raid1_takeover() 3165 conf->array_frozen = 1; raid1_takeover() 3166 return conf; raid1_takeover()
|
H A D | multipath.c | 34 static int multipath_map (struct mpconf *conf) multipath_map() argument 36 int i, disks = conf->raid_disks; multipath_map() 45 struct md_rdev *rdev = rcu_dereference(conf->multipaths[i].rdev); multipath_map() 62 struct mpconf *conf = mddev->private; multipath_reschedule_retry() local 64 spin_lock_irqsave(&conf->device_lock, flags); multipath_reschedule_retry() 65 list_add(&mp_bh->retry_list, &conf->retry_list); multipath_reschedule_retry() 66 spin_unlock_irqrestore(&conf->device_lock, flags); multipath_reschedule_retry() 78 struct mpconf *conf = mp_bh->mddev->private; multipath_end_bh_io() local 82 mempool_free(mp_bh, conf->pool); multipath_end_bh_io() 88 struct mpconf *conf = mp_bh->mddev->private; multipath_end_request() local 89 struct md_rdev *rdev = conf->multipaths[mp_bh->path].rdev; multipath_end_request() 105 rdev_dec_pending(rdev, conf->mddev); multipath_end_request() 110 struct mpconf *conf = mddev->private; multipath_make_request() local 119 mp_bh = mempool_alloc(conf->pool, GFP_NOIO); multipath_make_request() 124 mp_bh->path = multipath_map(conf); multipath_make_request() 127 mempool_free(mp_bh, conf->pool); multipath_make_request() 130 multipath = conf->multipaths + mp_bh->path; multipath_make_request() 146 struct mpconf *conf = mddev->private; multipath_status() local 149 seq_printf (seq, " [%d/%d] [", conf->raid_disks, multipath_status() 150 conf->raid_disks - mddev->degraded); multipath_status() 151 for (i = 0; i < conf->raid_disks; i++) multipath_status() 153 conf->multipaths[i].rdev && multipath_status() 154 test_bit(In_sync, &conf->multipaths[i].rdev->flags) ? "U" : "_"); multipath_status() 160 struct mpconf *conf = mddev->private; multipath_congested() local 165 struct md_rdev *rdev = rcu_dereference(conf->multipaths[i].rdev); multipath_congested() 185 struct mpconf *conf = mddev->private; multipath_error() local 188 if (conf->raid_disks - mddev->degraded <= 1) { multipath_error() 204 spin_lock_irqsave(&conf->device_lock, flags); multipath_error() 206 spin_unlock_irqrestore(&conf->device_lock, flags); multipath_error() 215 conf->raid_disks - mddev->degraded); multipath_error() 218 static void print_multipath_conf (struct mpconf *conf) print_multipath_conf() argument 223 printk("MULTIPATH conf printout:\n"); print_multipath_conf() 224 if (!conf) { print_multipath_conf() 225 printk("(conf==NULL)\n"); print_multipath_conf() 228 printk(" --- wd:%d rd:%d\n", conf->raid_disks - conf->mddev->degraded, print_multipath_conf() 229 conf->raid_disks); print_multipath_conf() 231 for (i = 0; i < conf->raid_disks; i++) { print_multipath_conf() 233 tmp = conf->multipaths + i; print_multipath_conf() 243 struct mpconf *conf = mddev->private; multipath_add_disk() local 254 print_multipath_conf(conf); multipath_add_disk() 257 if ((p=conf->multipaths+path)->rdev == NULL) { multipath_add_disk() 265 spin_lock_irq(&conf->device_lock); multipath_add_disk() 269 spin_unlock_irq(&conf->device_lock); multipath_add_disk() 275 print_multipath_conf(conf); multipath_add_disk() 282 struct mpconf *conf = mddev->private; multipath_remove_disk() local 285 struct multipath_info *p = conf->multipaths + number; multipath_remove_disk() 287 print_multipath_conf(conf); multipath_remove_disk() 309 print_multipath_conf(conf); multipath_remove_disk() 327 struct mpconf *conf = mddev->private; multipathd() local 328 struct list_head *head = &conf->retry_list; multipathd() 333 spin_lock_irqsave(&conf->device_lock, flags); multipathd() 338 spin_unlock_irqrestore(&conf->device_lock, flags); multipathd() 343 if ((mp_bh->path = multipath_map (conf))<0) { multipathd() 356 conf->multipaths[mp_bh->path].rdev->data_offset; multipathd() 357 bio->bi_bdev = conf->multipaths[mp_bh->path].rdev->bdev; multipathd() 364 spin_unlock_irqrestore(&conf->device_lock, flags); multipathd() 377 struct mpconf *conf; multipath_run() local 397 conf = kzalloc(sizeof(struct mpconf), GFP_KERNEL); multipath_run() 398 mddev->private = conf; multipath_run() 399 if (!conf) { multipath_run() 406 conf->multipaths = kzalloc(sizeof(struct multipath_info)*mddev->raid_disks, multipath_run() 408 if (!conf->multipaths) { multipath_run() 422 disk = conf->multipaths + disk_idx; rdev_for_each() 431 conf->raid_disks = mddev->raid_disks; 432 conf->mddev = mddev; 433 spin_lock_init(&conf->device_lock); 434 INIT_LIST_HEAD(&conf->retry_list); 441 mddev->degraded = conf->raid_disks - working_disks; 443 conf->pool = mempool_create_kmalloc_pool(NR_RESERVED_BUFS, 445 if (conf->pool == NULL) { 464 mdname(mddev), conf->raid_disks - mddev->degraded, 477 mempool_destroy(conf->pool); 478 kfree(conf->multipaths); 479 kfree(conf); 487 struct mpconf *conf = priv; multipath_free() local 489 mempool_destroy(conf->pool); multipath_free() 490 kfree(conf->multipaths); multipath_free() 491 kfree(conf); multipath_free()
|
H A D | raid10.c | 99 static void allow_barrier(struct r10conf *conf); 100 static void lower_barrier(struct r10conf *conf); 101 static int _enough(struct r10conf *conf, int previous, int ignore); 106 static void end_reshape(struct r10conf *conf); 110 struct r10conf *conf = data; r10bio_pool_alloc() local 111 int size = offsetof(struct r10bio, devs[conf->copies]); r10bio_pool_alloc() 140 struct r10conf *conf = data; r10buf_pool_alloc() local 147 r10_bio = r10bio_pool_alloc(gfp_flags, conf); r10buf_pool_alloc() 151 if (test_bit(MD_RECOVERY_SYNC, &conf->mddev->recovery) || r10buf_pool_alloc() 152 test_bit(MD_RECOVERY_RESHAPE, &conf->mddev->recovery)) r10buf_pool_alloc() 153 nalloc = conf->copies; /* resync */ r10buf_pool_alloc() 165 if (!conf->have_replacement) r10buf_pool_alloc() 181 &conf->mddev->recovery)) { r10buf_pool_alloc() 214 r10bio_pool_free(r10_bio, conf); r10buf_pool_alloc() 221 struct r10conf *conf = data; r10buf_pool_free() local 225 for (j=0; j < conf->copies; j++) { r10buf_pool_free() 238 r10bio_pool_free(r10bio, conf); r10buf_pool_free() 241 static void put_all_bios(struct r10conf *conf, struct r10bio *r10_bio) put_all_bios() argument 245 for (i = 0; i < conf->copies; i++) { put_all_bios() 259 struct r10conf *conf = r10_bio->mddev->private; free_r10bio() local 261 put_all_bios(conf, r10_bio); free_r10bio() 262 mempool_free(r10_bio, conf->r10bio_pool); free_r10bio() 267 struct r10conf *conf = r10_bio->mddev->private; put_buf() local 269 mempool_free(r10_bio, conf->r10buf_pool); put_buf() 271 lower_barrier(conf); put_buf() 278 struct r10conf *conf = mddev->private; reschedule_retry() local 280 spin_lock_irqsave(&conf->device_lock, flags); reschedule_retry() 281 list_add(&r10_bio->retry_list, &conf->retry_list); reschedule_retry() 282 conf->nr_queued ++; reschedule_retry() 283 spin_unlock_irqrestore(&conf->device_lock, flags); reschedule_retry() 286 wake_up(&conf->wait_barrier); reschedule_retry() 300 struct r10conf *conf = r10_bio->mddev->private; raid_end_bio_io() local 304 spin_lock_irqsave(&conf->device_lock, flags); raid_end_bio_io() 307 spin_unlock_irqrestore(&conf->device_lock, flags); raid_end_bio_io() 318 allow_barrier(conf); raid_end_bio_io() 328 struct r10conf *conf = r10_bio->mddev->private; update_head_pos() local 330 conf->mirrors[r10_bio->devs[slot].devnum].head_position = update_head_pos() 337 static int find_bio_disk(struct r10conf *conf, struct r10bio *r10_bio, find_bio_disk() argument 343 for (slot = 0; slot < conf->copies; slot++) { find_bio_disk() 352 BUG_ON(slot == conf->copies); find_bio_disk() 368 struct r10conf *conf = r10_bio->mddev->private; raid10_end_read_request() local 395 if (!_enough(conf, test_bit(R10BIO_Previous, &r10_bio->state), raid10_end_read_request() 401 rdev_dec_pending(rdev, conf->mddev); raid10_end_read_request() 409 mdname(conf->mddev), raid10_end_read_request() 447 struct r10conf *conf = r10_bio->mddev->private; raid10_end_write_request() local 451 dev = find_bio_disk(conf, r10_bio, bio, &slot, &repl); raid10_end_write_request() 454 rdev = conf->mirrors[dev].replacement; raid10_end_write_request() 458 rdev = conf->mirrors[dev].rdev; raid10_end_write_request() 524 rdev_dec_pending(rdev, conf->mddev); raid10_end_write_request() 615 static void raid10_find_phys(struct r10conf *conf, struct r10bio *r10bio) raid10_find_phys() argument 617 struct geom *geo = &conf->geo; raid10_find_phys() 619 if (conf->reshape_progress != MaxSector && raid10_find_phys() 620 ((r10bio->sector >= conf->reshape_progress) != raid10_find_phys() 621 conf->mddev->reshape_backwards)) { raid10_find_phys() 623 geo = &conf->prev; raid10_find_phys() 630 static sector_t raid10_find_virt(struct r10conf *conf, sector_t sector, int dev) raid10_find_virt() argument 633 /* Never use conf->prev as this is only called during resync raid10_find_virt() 636 struct geom *geo = &conf->geo; raid10_find_virt() 694 static struct md_rdev *read_balance(struct r10conf *conf, read_balance() argument 706 struct geom *geo = &conf->geo; read_balance() 708 raid10_find_phys(conf, r10_bio); read_balance() 723 if (conf->mddev->recovery_cp < MaxSector read_balance() 724 && (this_sector + sectors >= conf->next_resync)) read_balance() 727 for (slot = 0; slot < conf->copies ; slot++) { read_balance() 735 rdev = rcu_dereference(conf->mirrors[disk].replacement); read_balance() 738 rdev = rcu_dereference(conf->mirrors[disk].rdev); read_balance() 793 conf->mirrors[disk].head_position); read_balance() 800 if (slot >= conf->copies) { read_balance() 811 rdev_dec_pending(rdev, conf->mddev); read_balance() 825 struct r10conf *conf = mddev->private; raid10_congested() local 829 conf->pending_count >= max_queued_requests) raid10_congested() 834 (i < conf->geo.raid_disks || i < conf->prev.raid_disks) raid10_congested() 837 struct md_rdev *rdev = rcu_dereference(conf->mirrors[i].rdev); raid10_congested() 848 static void flush_pending_writes(struct r10conf *conf) flush_pending_writes() argument 853 spin_lock_irq(&conf->device_lock); flush_pending_writes() 855 if (conf->pending_bio_list.head) { flush_pending_writes() 857 bio = bio_list_get(&conf->pending_bio_list); flush_pending_writes() 858 conf->pending_count = 0; flush_pending_writes() 859 spin_unlock_irq(&conf->device_lock); flush_pending_writes() 862 bitmap_unplug(conf->mddev->bitmap); flush_pending_writes() 863 wake_up(&conf->wait_barrier); flush_pending_writes() 877 spin_unlock_irq(&conf->device_lock); flush_pending_writes() 902 static void raise_barrier(struct r10conf *conf, int force) raise_barrier() argument 904 BUG_ON(force && !conf->barrier); raise_barrier() 905 spin_lock_irq(&conf->resync_lock); raise_barrier() 908 wait_event_lock_irq(conf->wait_barrier, force || !conf->nr_waiting, raise_barrier() 909 conf->resync_lock); raise_barrier() 912 conf->barrier++; raise_barrier() 915 wait_event_lock_irq(conf->wait_barrier, raise_barrier() 916 !conf->nr_pending && conf->barrier < RESYNC_DEPTH, raise_barrier() 917 conf->resync_lock); raise_barrier() 919 spin_unlock_irq(&conf->resync_lock); raise_barrier() 922 static void lower_barrier(struct r10conf *conf) lower_barrier() argument 925 spin_lock_irqsave(&conf->resync_lock, flags); lower_barrier() 926 conf->barrier--; lower_barrier() 927 spin_unlock_irqrestore(&conf->resync_lock, flags); lower_barrier() 928 wake_up(&conf->wait_barrier); lower_barrier() 931 static void wait_barrier(struct r10conf *conf) wait_barrier() argument 933 spin_lock_irq(&conf->resync_lock); wait_barrier() 934 if (conf->barrier) { wait_barrier() 935 conf->nr_waiting++; wait_barrier() 945 wait_event_lock_irq(conf->wait_barrier, wait_barrier() 946 !conf->barrier || wait_barrier() 947 (conf->nr_pending && wait_barrier() 950 conf->resync_lock); wait_barrier() 951 conf->nr_waiting--; wait_barrier() 953 conf->nr_pending++; wait_barrier() 954 spin_unlock_irq(&conf->resync_lock); wait_barrier() 957 static void allow_barrier(struct r10conf *conf) allow_barrier() argument 960 spin_lock_irqsave(&conf->resync_lock, flags); allow_barrier() 961 conf->nr_pending--; allow_barrier() 962 spin_unlock_irqrestore(&conf->resync_lock, flags); allow_barrier() 963 wake_up(&conf->wait_barrier); allow_barrier() 966 static void freeze_array(struct r10conf *conf, int extra) freeze_array() argument 980 spin_lock_irq(&conf->resync_lock); freeze_array() 981 conf->barrier++; freeze_array() 982 conf->nr_waiting++; freeze_array() 983 wait_event_lock_irq_cmd(conf->wait_barrier, freeze_array() 984 conf->nr_pending == conf->nr_queued+extra, freeze_array() 985 conf->resync_lock, freeze_array() 986 flush_pending_writes(conf)); freeze_array() 988 spin_unlock_irq(&conf->resync_lock); freeze_array() 991 static void unfreeze_array(struct r10conf *conf) unfreeze_array() argument 994 spin_lock_irq(&conf->resync_lock); unfreeze_array() 995 conf->barrier--; unfreeze_array() 996 conf->nr_waiting--; unfreeze_array() 997 wake_up(&conf->wait_barrier); unfreeze_array() 998 spin_unlock_irq(&conf->resync_lock); unfreeze_array() 1022 struct r10conf *conf = mddev->private; raid10_unplug() local 1026 spin_lock_irq(&conf->device_lock); raid10_unplug() 1027 bio_list_merge(&conf->pending_bio_list, &plug->pending); raid10_unplug() 1028 conf->pending_count += plug->pending_cnt; raid10_unplug() 1029 spin_unlock_irq(&conf->device_lock); raid10_unplug() 1030 wake_up(&conf->wait_barrier); raid10_unplug() 1039 wake_up(&conf->wait_barrier); raid10_unplug() 1057 struct r10conf *conf = mddev->private; __make_request() local 1080 wait_barrier(conf); __make_request() 1084 bio->bi_iter.bi_sector < conf->reshape_progress && __make_request() 1085 bio->bi_iter.bi_sector + sectors > conf->reshape_progress) { __make_request() 1089 allow_barrier(conf); __make_request() 1090 wait_event(conf->wait_barrier, __make_request() 1091 conf->reshape_progress <= bio->bi_iter.bi_sector || __make_request() 1092 conf->reshape_progress >= bio->bi_iter.bi_sector + __make_request() 1094 wait_barrier(conf); __make_request() 1099 ? (bio->bi_iter.bi_sector < conf->reshape_safe && __make_request() 1100 bio->bi_iter.bi_sector + sectors > conf->reshape_progress) __make_request() 1101 : (bio->bi_iter.bi_sector + sectors > conf->reshape_safe && __make_request() 1102 bio->bi_iter.bi_sector < conf->reshape_progress))) { __make_request() 1104 mddev->reshape_position = conf->reshape_progress; __make_request() 1111 conf->reshape_safe = mddev->reshape_position; __make_request() 1114 r10_bio = mempool_alloc(conf->r10bio_pool, GFP_NOIO); __make_request() 1141 rdev = read_balance(conf, r10_bio, &max_sectors); __make_request() 1169 spin_lock_irq(&conf->device_lock); __make_request() 1174 spin_unlock_irq(&conf->device_lock); __make_request() 1182 r10_bio = mempool_alloc(conf->r10bio_pool, GFP_NOIO); __make_request() 1199 if (conf->pending_count >= max_queued_requests) { __make_request() 1201 wait_event(conf->wait_barrier, __make_request() 1202 conf->pending_count < max_queued_requests); __make_request() 1217 raid10_find_phys(conf, r10_bio); __make_request() 1223 for (i = 0; i < conf->copies; i++) { __make_request() 1225 struct md_rdev *rdev = rcu_dereference(conf->mirrors[d].rdev); __make_request() 1227 conf->mirrors[d].replacement); __make_request() 1313 rdev_dec_pending(conf->mirrors[d].rdev, mddev); __make_request() 1318 rdev = conf->mirrors[d].replacement; __make_request() 1322 rdev = conf->mirrors[d].rdev; __make_request() 1327 allow_barrier(conf); __make_request() 1329 wait_barrier(conf); __make_request() 1338 spin_lock_irq(&conf->device_lock); __make_request() 1343 spin_unlock_irq(&conf->device_lock); __make_request() 1351 for (i = 0; i < conf->copies; i++) { __make_request() 1355 struct md_rdev *rdev = conf->mirrors[d].rdev; __make_request() 1379 spin_lock_irqsave(&conf->device_lock, flags); __make_request() 1384 bio_list_add(&conf->pending_bio_list, mbio); __make_request() 1385 conf->pending_count++; __make_request() 1387 spin_unlock_irqrestore(&conf->device_lock, flags); __make_request() 1393 struct md_rdev *rdev = conf->mirrors[d].replacement; __make_request() 1397 rdev = conf->mirrors[d].rdev; __make_request() 1414 spin_lock_irqsave(&conf->device_lock, flags); __make_request() 1415 bio_list_add(&conf->pending_bio_list, mbio); __make_request() 1416 conf->pending_count++; __make_request() 1417 spin_unlock_irqrestore(&conf->device_lock, flags); __make_request() 1432 r10_bio = mempool_alloc(conf->r10bio_pool, GFP_NOIO); __make_request() 1447 struct r10conf *conf = mddev->private; make_request() local 1448 sector_t chunk_mask = (conf->geo.chunk_mask & conf->prev.chunk_mask); make_request() 1468 && (conf->geo.near_copies < conf->geo.raid_disks make_request() 1469 || conf->prev.near_copies < make_request() 1470 conf->prev.raid_disks))) { make_request() 1484 wake_up(&conf->wait_barrier); make_request() 1489 struct r10conf *conf = mddev->private; status() local 1492 if (conf->geo.near_copies < conf->geo.raid_disks) status() 1494 if (conf->geo.near_copies > 1) status() 1495 seq_printf(seq, " %d near-copies", conf->geo.near_copies); status() 1496 if (conf->geo.far_copies > 1) { status() 1497 if (conf->geo.far_offset) status() 1498 seq_printf(seq, " %d offset-copies", conf->geo.far_copies); status() 1500 seq_printf(seq, " %d far-copies", conf->geo.far_copies); status() 1501 if (conf->geo.far_set_size != conf->geo.raid_disks) status() 1502 seq_printf(seq, " %d devices per set", conf->geo.far_set_size); status() 1504 seq_printf(seq, " [%d/%d] [", conf->geo.raid_disks, status() 1505 conf->geo.raid_disks - mddev->degraded); status() 1506 for (i = 0; i < conf->geo.raid_disks; i++) status() 1508 conf->mirrors[i].rdev && status() 1509 test_bit(In_sync, &conf->mirrors[i].rdev->flags) ? "U" : "_"); status() 1518 static int _enough(struct r10conf *conf, int previous, int ignore) _enough() argument 1524 disks = conf->prev.raid_disks; _enough() 1525 ncopies = conf->prev.near_copies; _enough() 1527 disks = conf->geo.raid_disks; _enough() 1528 ncopies = conf->geo.near_copies; _enough() 1533 int n = conf->copies; _enough() 1539 (rdev = rcu_dereference(conf->mirrors[this].rdev)) && _enough() 1554 static int enough(struct r10conf *conf, int ignore) enough() argument 1561 return _enough(conf, 0, ignore) && enough() 1562 _enough(conf, 1, ignore); enough() 1568 struct r10conf *conf = mddev->private; error() local 1577 spin_lock_irqsave(&conf->device_lock, flags); error() 1579 && !enough(conf, rdev->raid_disk)) { error() 1583 spin_unlock_irqrestore(&conf->device_lock, flags); error() 1596 spin_unlock_irqrestore(&conf->device_lock, flags); error() 1601 mdname(mddev), conf->geo.raid_disks - mddev->degraded); error() 1604 static void print_conf(struct r10conf *conf) print_conf() argument 1609 printk(KERN_DEBUG "RAID10 conf printout:\n"); print_conf() 1610 if (!conf) { print_conf() 1611 printk(KERN_DEBUG "(!conf)\n"); print_conf() 1614 printk(KERN_DEBUG " --- wd:%d rd:%d\n", conf->geo.raid_disks - conf->mddev->degraded, print_conf() 1615 conf->geo.raid_disks); print_conf() 1617 for (i = 0; i < conf->geo.raid_disks; i++) { print_conf() 1619 tmp = conf->mirrors + i; print_conf() 1628 static void close_sync(struct r10conf *conf) close_sync() argument 1630 wait_barrier(conf); close_sync() 1631 allow_barrier(conf); close_sync() 1633 mempool_destroy(conf->r10buf_pool); close_sync() 1634 conf->r10buf_pool = NULL; close_sync() 1640 struct r10conf *conf = mddev->private; raid10_spare_active() local 1649 for (i = 0; i < conf->geo.raid_disks; i++) { raid10_spare_active() 1650 tmp = conf->mirrors + i; raid10_spare_active() 1677 spin_lock_irqsave(&conf->device_lock, flags); raid10_spare_active() 1679 spin_unlock_irqrestore(&conf->device_lock, flags); raid10_spare_active() 1681 print_conf(conf); raid10_spare_active() 1687 struct r10conf *conf = mddev->private; raid10_add_disk() local 1691 int last = conf->geo.raid_disks - 1; raid10_add_disk() 1698 if (rdev->saved_raid_disk < 0 && !_enough(conf, 1, -1)) raid10_add_disk() 1708 conf->mirrors[rdev->saved_raid_disk].rdev == NULL) raid10_add_disk() 1713 struct raid10_info *p = &conf->mirrors[mirror]; raid10_add_disk() 1727 conf->fullsync = 1; raid10_add_disk() 1741 conf->fullsync = 1; raid10_add_disk() 1748 print_conf(conf); raid10_add_disk() 1754 struct r10conf *conf = mddev->private; raid10_remove_disk() local 1758 struct raid10_info *p = conf->mirrors + number; raid10_remove_disk() 1760 print_conf(conf); raid10_remove_disk() 1779 number < conf->geo.raid_disks && raid10_remove_disk() 1780 enough(conf, -1)) { raid10_remove_disk() 1810 print_conf(conf); raid10_remove_disk() 1817 struct r10conf *conf = r10_bio->mddev->private; end_sync_read() local 1824 d = find_bio_disk(conf, r10_bio, bio, NULL, NULL); end_sync_read() 1833 &conf->mirrors[d].rdev->corrected_errors); end_sync_read() 1838 rdev_dec_pending(conf->mirrors[d].rdev, conf->mddev); end_sync_read() 1879 struct r10conf *conf = mddev->private; end_sync_write() local 1887 d = find_bio_disk(conf, r10_bio, bio, &slot, &repl); end_sync_write() 1889 rdev = conf->mirrors[d].replacement; end_sync_write() 1891 rdev = conf->mirrors[d].rdev; end_sync_write() 1932 struct r10conf *conf = mddev->private; sync_request_write() local 1940 for (i=0; i<conf->copies; i++) sync_request_write() 1944 if (i == conf->copies) sync_request_write() 1954 for (i=0 ; i < conf->copies ; i++) { sync_request_write() 2003 atomic_inc(&conf->mirrors[d].rdev->nr_pending); sync_request_write() 2005 md_sync_acct(conf->mirrors[d].rdev->bdev, bio_sectors(tbio)); sync_request_write() 2007 tbio->bi_iter.bi_sector += conf->mirrors[d].rdev->data_offset; sync_request_write() 2008 tbio->bi_bdev = conf->mirrors[d].rdev->bdev; sync_request_write() 2015 for (i = 0; i < conf->copies; i++) { sync_request_write() 2026 md_sync_acct(conf->mirrors[d].replacement->bdev, sync_request_write() 2058 struct r10conf *conf = mddev->private; fix_recovery_read_error() local 2075 rdev = conf->mirrors[dr].rdev; fix_recovery_read_error() 2083 rdev = conf->mirrors[dw].rdev; fix_recovery_read_error() 2105 if (rdev != conf->mirrors[dw].rdev) { fix_recovery_read_error() 2107 struct md_rdev *rdev2 = conf->mirrors[dw].rdev; fix_recovery_read_error() 2117 conf->mirrors[dw].recovery_disabled fix_recovery_read_error() 2134 struct r10conf *conf = mddev->private; recovery_request_write() local 2158 atomic_inc(&conf->mirrors[d].rdev->nr_pending); recovery_request_write() 2159 md_sync_acct(conf->mirrors[d].rdev->bdev, bio_sectors(wbio)); recovery_request_write() 2163 atomic_inc(&conf->mirrors[d].replacement->nr_pending); recovery_request_write() 2164 md_sync_acct(conf->mirrors[d].replacement->bdev, recovery_request_write() 2239 static void fix_read_error(struct r10conf *conf, struct mddev *mddev, struct r10bio *r10_bio) fix_read_error() argument 2250 rdev = conf->mirrors[d].rdev; fix_read_error() 2271 md_error(mddev, conf->mirrors[d].rdev); fix_read_error() 2291 rdev = rcu_dereference(conf->mirrors[d].rdev); fix_read_error() 2302 conf->tmppage, READ, false); fix_read_error() 2309 if (sl == conf->copies) fix_read_error() 2320 rdev = conf->mirrors[dn].rdev; fix_read_error() 2341 sl = conf->copies; fix_read_error() 2344 rdev = rcu_dereference(conf->mirrors[d].rdev); fix_read_error() 2354 s, conf->tmppage, WRITE) fix_read_error() 2380 sl = conf->copies; fix_read_error() 2383 rdev = rcu_dereference(conf->mirrors[d].rdev); fix_read_error() 2393 s, conf->tmppage, fix_read_error() 2437 struct r10conf *conf = mddev->private; narrow_write_error() local 2438 struct md_rdev *rdev = conf->mirrors[r10_bio->devs[i].devnum].rdev; narrow_write_error() 2495 struct r10conf *conf = mddev->private; handle_read_error() local 2515 freeze_array(conf, 1); handle_read_error() 2516 fix_read_error(conf, mddev, r10_bio); handle_read_error() 2517 unfreeze_array(conf); handle_read_error() 2524 rdev = read_balance(conf, r10_bio, &max_sectors); handle_read_error() 2561 spin_lock_irq(&conf->device_lock); handle_read_error() 2566 spin_unlock_irq(&conf->device_lock); handle_read_error() 2569 r10_bio = mempool_alloc(conf->r10bio_pool, handle_read_error() 2585 static void handle_write_completed(struct r10conf *conf, struct r10bio *r10_bio) handle_write_completed() argument 2598 for (m = 0; m < conf->copies; m++) { handle_write_completed() 2600 rdev = conf->mirrors[dev].rdev; handle_write_completed() 2613 md_error(conf->mddev, rdev); handle_write_completed() 2615 rdev = conf->mirrors[dev].replacement; handle_write_completed() 2629 md_error(conf->mddev, rdev); handle_write_completed() 2635 for (m = 0; m < conf->copies; m++) { handle_write_completed() 2638 rdev = conf->mirrors[dev].rdev; handle_write_completed() 2644 rdev_dec_pending(rdev, conf->mddev); handle_write_completed() 2648 md_error(conf->mddev, rdev); handle_write_completed() 2652 rdev_dec_pending(rdev, conf->mddev); handle_write_completed() 2655 rdev = conf->mirrors[dev].replacement; handle_write_completed() 2661 rdev_dec_pending(rdev, conf->mddev); handle_write_completed() 2665 spin_lock_irq(&conf->device_lock); handle_write_completed() 2666 list_add(&r10_bio->retry_list, &conf->bio_end_io_list); handle_write_completed() 2667 conf->nr_queued++; handle_write_completed() 2668 spin_unlock_irq(&conf->device_lock); handle_write_completed() 2669 md_wakeup_thread(conf->mddev->thread); handle_write_completed() 2684 struct r10conf *conf = mddev->private; raid10d() local 2685 struct list_head *head = &conf->retry_list; raid10d() 2690 if (!list_empty_careful(&conf->bio_end_io_list) && raid10d() 2693 spin_lock_irqsave(&conf->device_lock, flags); raid10d() 2695 while (!list_empty(&conf->bio_end_io_list)) { raid10d() 2696 list_move(conf->bio_end_io_list.prev, &tmp); raid10d() 2697 conf->nr_queued--; raid10d() 2700 spin_unlock_irqrestore(&conf->device_lock, flags); raid10d() 2718 flush_pending_writes(conf); raid10d() 2720 spin_lock_irqsave(&conf->device_lock, flags); raid10d() 2722 spin_unlock_irqrestore(&conf->device_lock, flags); raid10d() 2727 conf->nr_queued--; raid10d() 2728 spin_unlock_irqrestore(&conf->device_lock, flags); raid10d() 2731 conf = mddev->private; raid10d() 2734 handle_write_completed(conf, r10_bio); raid10d() 2758 static int init_resync(struct r10conf *conf) init_resync() argument 2764 BUG_ON(conf->r10buf_pool); init_resync() 2765 conf->have_replacement = 0; init_resync() 2766 for (i = 0; i < conf->geo.raid_disks; i++) init_resync() 2767 if (conf->mirrors[i].replacement) init_resync() 2768 conf->have_replacement = 1; init_resync() 2769 conf->r10buf_pool = mempool_create(buffs, r10buf_pool_alloc, r10buf_pool_free, conf); init_resync() 2770 if (!conf->r10buf_pool) init_resync() 2772 conf->next_resync = 0; init_resync() 2811 struct r10conf *conf = mddev->private; sync_request() local 2820 sector_t chunk_mask = conf->geo.chunk_mask; sync_request() 2822 if (!conf->r10buf_pool) sync_request() 2823 if (init_resync(conf)) sync_request() 2836 conf->fullsync == 0) { sync_request() 2857 end_reshape(conf); sync_request() 2858 close_sync(conf); sync_request() 2866 else for (i = 0; i < conf->geo.raid_disks; i++) { sync_request() 2868 raid10_find_virt(conf, mddev->curr_resync, i); sync_request() 2874 if ((!mddev->bitmap || conf->fullsync) sync_request() 2875 && conf->have_replacement sync_request() 2880 for (i = 0; i < conf->geo.raid_disks; i++) sync_request() 2881 if (conf->mirrors[i].replacement) sync_request() 2882 conf->mirrors[i].replacement sync_request() 2886 conf->fullsync = 0; sync_request() 2889 close_sync(conf); sync_request() 2897 if (chunks_skipped >= conf->geo.raid_disks) { sync_request() 2911 if (conf->geo.near_copies < conf->geo.raid_disks && sync_request() 2936 for (i = 0 ; i < conf->geo.raid_disks; i++) { sync_request() 2942 struct raid10_info *mirror = &conf->mirrors[i]; sync_request() 2955 sect = raid10_find_virt(conf, sector_nr, i); sync_request() 2972 !conf->fullsync) { sync_request() 2980 r10_bio = mempool_alloc(conf->r10buf_pool, GFP_NOIO); sync_request() 2982 raise_barrier(conf, rb2 != NULL); sync_request() 2992 raid10_find_phys(conf, r10_bio); sync_request() 2997 for (j = 0; j < conf->geo.raid_disks; j++) sync_request() 2998 if (conf->mirrors[j].rdev == NULL || sync_request() 2999 test_bit(Faulty, &conf->mirrors[j].rdev->flags)) { sync_request() 3008 for (j=0; j<conf->copies;j++) { sync_request() 3015 if (!conf->mirrors[d].rdev || sync_request() 3016 !test_bit(In_sync, &conf->mirrors[d].rdev->flags)) sync_request() 3020 rdev = conf->mirrors[d].rdev; sync_request() 3049 for (k=0; k<conf->copies; k++) sync_request() 3052 BUG_ON(k == conf->copies); sync_request() 3103 if (j == conf->copies) { sync_request() 3111 for (k = 0; k < conf->copies; k++) sync_request() 3161 !conf->fullsync && !test_bit(MD_RECOVERY_REQUESTED, sync_request() 3169 r10_bio = mempool_alloc(conf->r10buf_pool, GFP_NOIO); sync_request() 3174 raise_barrier(conf, 0); sync_request() 3175 conf->next_resync = sector_nr; sync_request() 3180 raid10_find_phys(conf, r10_bio); sync_request() 3183 for (i = 0; i < conf->copies; i++) { sync_request() 3194 if (conf->mirrors[d].rdev == NULL || sync_request() 3195 test_bit(Faulty, &conf->mirrors[d].rdev->flags)) sync_request() 3198 if (is_badblock(conf->mirrors[d].rdev, sync_request() 3210 atomic_inc(&conf->mirrors[d].rdev->nr_pending); sync_request() 3218 conf->mirrors[d].rdev->data_offset; sync_request() 3219 bio->bi_bdev = conf->mirrors[d].rdev->bdev; sync_request() 3222 if (conf->mirrors[d].replacement == NULL || sync_request() 3224 &conf->mirrors[d].replacement->flags)) sync_request() 3233 atomic_inc(&conf->mirrors[d].rdev->nr_pending); sync_request() 3240 conf->mirrors[d].replacement->data_offset; sync_request() 3241 bio->bi_bdev = conf->mirrors[d].replacement->bdev; sync_request() 3246 for (i=0; i<conf->copies; i++) { sync_request() 3249 rdev_dec_pending(conf->mirrors[d].rdev, sync_request() 3254 conf->mirrors[d].replacement, sync_request() 3337 struct r10conf *conf = mddev->private; raid10_size() local 3340 raid_disks = min(conf->geo.raid_disks, raid10_size() 3341 conf->prev.raid_disks); raid10_size() 3343 sectors = conf->dev_sectors; raid10_size() 3345 size = sectors >> conf->geo.chunk_shift; raid10_size() 3346 sector_div(size, conf->geo.far_copies); raid10_size() 3348 sector_div(size, conf->geo.near_copies); raid10_size() 3350 return size << conf->geo.chunk_shift; raid10_size() 3353 static void calc_sectors(struct r10conf *conf, sector_t size) calc_sectors() argument 3356 * actually be used, and set conf->dev_sectors and calc_sectors() 3357 * conf->stride calc_sectors() 3360 size = size >> conf->geo.chunk_shift; calc_sectors() 3361 sector_div(size, conf->geo.far_copies); calc_sectors() 3362 size = size * conf->geo.raid_disks; calc_sectors() 3363 sector_div(size, conf->geo.near_copies); calc_sectors() 3366 size = size * conf->copies; calc_sectors() 3371 size = DIV_ROUND_UP_SECTOR_T(size, conf->geo.raid_disks); calc_sectors() 3373 conf->dev_sectors = size << conf->geo.chunk_shift; calc_sectors() 3375 if (conf->geo.far_offset) calc_sectors() 3376 conf->geo.stride = 1 << conf->geo.chunk_shift; calc_sectors() 3378 sector_div(size, conf->geo.far_copies); calc_sectors() 3379 conf->geo.stride = size << conf->geo.chunk_shift; calc_sectors() 3442 struct r10conf *conf = NULL; setup_conf() local 3463 conf = kzalloc(sizeof(struct r10conf), GFP_KERNEL); setup_conf() 3464 if (!conf) setup_conf() 3468 conf->mirrors = kzalloc(sizeof(struct raid10_info)*(mddev->raid_disks + setup_conf() 3471 if (!conf->mirrors) setup_conf() 3474 conf->tmppage = alloc_page(GFP_KERNEL); setup_conf() 3475 if (!conf->tmppage) setup_conf() 3478 conf->geo = geo; setup_conf() 3479 conf->copies = copies; setup_conf() 3480 conf->r10bio_pool = mempool_create(NR_RAID10_BIOS, r10bio_pool_alloc, setup_conf() 3481 r10bio_pool_free, conf); setup_conf() 3482 if (!conf->r10bio_pool) setup_conf() 3485 calc_sectors(conf, mddev->dev_sectors); setup_conf() 3487 conf->prev = conf->geo; setup_conf() 3488 conf->reshape_progress = MaxSector; setup_conf() 3490 if (setup_geo(&conf->prev, mddev, geo_old) != conf->copies) { setup_conf() 3494 conf->reshape_progress = mddev->reshape_position; setup_conf() 3495 if (conf->prev.far_offset) setup_conf() 3496 conf->prev.stride = 1 << conf->prev.chunk_shift; setup_conf() 3499 conf->prev.stride = conf->dev_sectors; setup_conf() 3501 conf->reshape_safe = conf->reshape_progress; setup_conf() 3502 spin_lock_init(&conf->device_lock); setup_conf() 3503 INIT_LIST_HEAD(&conf->retry_list); setup_conf() 3504 INIT_LIST_HEAD(&conf->bio_end_io_list); setup_conf() 3506 spin_lock_init(&conf->resync_lock); setup_conf() 3507 init_waitqueue_head(&conf->wait_barrier); setup_conf() 3509 conf->thread = md_register_thread(raid10d, mddev, "raid10"); setup_conf() 3510 if (!conf->thread) setup_conf() 3513 conf->mddev = mddev; setup_conf() 3514 return conf; setup_conf() 3520 if (conf) { setup_conf() 3521 mempool_destroy(conf->r10bio_pool); setup_conf() 3522 kfree(conf->mirrors); setup_conf() 3523 safe_put_page(conf->tmppage); setup_conf() 3524 kfree(conf); setup_conf() 3531 struct r10conf *conf; run() local 3541 conf = setup_conf(mddev); run() 3542 if (IS_ERR(conf)) run() 3543 return PTR_ERR(conf); run() 3544 mddev->private = conf; run() 3546 conf = mddev->private; run() 3547 if (!conf) run() 3550 mddev->thread = conf->thread; run() 3551 conf->thread = NULL; run() 3559 if (conf->geo.raid_disks % conf->geo.near_copies) run() 3560 blk_queue_io_opt(mddev->queue, chunk_size * conf->geo.raid_disks); run() 3563 (conf->geo.raid_disks / conf->geo.near_copies)); run() 3573 if (disk_idx >= conf->geo.raid_disks && rdev_for_each() 3574 disk_idx >= conf->prev.raid_disks) rdev_for_each() 3576 disk = conf->mirrors + disk_idx; rdev_for_each() 3615 if (!enough(conf, -1)) { 3621 if (conf->reshape_progress != MaxSector) { 3623 if (conf->geo.far_copies != 1 && 3624 conf->geo.far_offset == 0) 3626 if (conf->prev.far_copies != 1 && 3627 conf->prev.far_offset == 0) 3633 i < conf->geo.raid_disks 3634 || i < conf->prev.raid_disks; 3637 disk = conf->mirrors + i; 3652 conf->fullsync = 1; 3663 mdname(mddev), conf->geo.raid_disks - mddev->degraded, 3664 conf->geo.raid_disks); 3668 mddev->dev_sectors = conf->dev_sectors; 3674 int stripe = conf->geo.raid_disks * 3681 stripe /= conf->geo.near_copies; 3689 if (conf->reshape_progress != MaxSector) { 3692 before_length = ((1 << conf->prev.chunk_shift) * 3693 conf->prev.far_copies); 3694 after_length = ((1 << conf->geo.chunk_shift) * 3695 conf->geo.far_copies); 3702 conf->offset_diff = min_offset_diff; 3716 mempool_destroy(conf->r10bio_pool); 3717 safe_put_page(conf->tmppage); 3718 kfree(conf->mirrors); 3719 kfree(conf); 3727 struct r10conf *conf = priv; raid10_free() local 3729 mempool_destroy(conf->r10bio_pool); raid10_free() 3730 safe_put_page(conf->tmppage); raid10_free() 3731 kfree(conf->mirrors); raid10_free() 3732 kfree(conf->mirrors_old); raid10_free() 3733 kfree(conf->mirrors_new); raid10_free() 3734 kfree(conf); raid10_free() 3739 struct r10conf *conf = mddev->private; raid10_quiesce() local 3743 raise_barrier(conf, 0); raid10_quiesce() 3746 lower_barrier(conf); raid10_quiesce() 3765 struct r10conf *conf = mddev->private; raid10_resize() local 3771 if (conf->geo.far_copies > 1 && !conf->geo.far_offset) raid10_resize() 3792 calc_sectors(conf, sectors); raid10_resize() 3793 mddev->dev_sectors = conf->dev_sectors; raid10_resize() 3801 struct r10conf *conf; raid10_takeover_raid0() local 3821 conf = setup_conf(mddev); raid10_takeover_raid0() 3822 if (!IS_ERR(conf)) { rdev_for_each() 3828 conf->barrier = 1; 3831 return conf; 3873 struct r10conf *conf = mddev->private; raid10_check_reshape() local 3876 if (conf->geo.far_copies != 1 && !conf->geo.far_offset) raid10_check_reshape() 3879 if (setup_geo(&geo, mddev, geo_start) != conf->copies) raid10_check_reshape() 3890 if (!enough(conf, -1)) raid10_check_reshape() 3893 kfree(conf->mirrors_new); raid10_check_reshape() 3894 conf->mirrors_new = NULL; raid10_check_reshape() 3897 conf->mirrors_new = kzalloc( raid10_check_reshape() 3902 if (!conf->mirrors_new) raid10_check_reshape() 3921 static int calc_degraded(struct r10conf *conf) calc_degraded() argument 3929 for (i = 0; i < conf->prev.raid_disks; i++) { calc_degraded() 3930 struct md_rdev *rdev = rcu_dereference(conf->mirrors[i].rdev); calc_degraded() 3941 if (conf->geo.raid_disks == conf->prev.raid_disks) calc_degraded() 3945 for (i = 0; i < conf->geo.raid_disks; i++) { calc_degraded() 3946 struct md_rdev *rdev = rcu_dereference(conf->mirrors[i].rdev); calc_degraded() 3955 if (conf->geo.raid_disks <= conf->prev.raid_disks) calc_degraded() 3981 struct r10conf *conf = mddev->private; raid10_start_reshape() local 3989 if (setup_geo(&new, mddev, geo_start) != conf->copies) raid10_start_reshape() 3992 before_length = ((1 << conf->prev.chunk_shift) * raid10_start_reshape() 3993 conf->prev.far_copies); raid10_start_reshape() 3994 after_length = ((1 << conf->geo.chunk_shift) * raid10_start_reshape() 3995 conf->geo.far_copies); raid10_start_reshape() 4019 conf->offset_diff = min_offset_diff; 4020 spin_lock_irq(&conf->device_lock); 4021 if (conf->mirrors_new) { 4022 memcpy(conf->mirrors_new, conf->mirrors, 4023 sizeof(struct raid10_info)*conf->prev.raid_disks); 4025 kfree(conf->mirrors_old); 4026 conf->mirrors_old = conf->mirrors; 4027 conf->mirrors = conf->mirrors_new; 4028 conf->mirrors_new = NULL; 4030 setup_geo(&conf->geo, mddev, geo_start); 4035 spin_unlock_irq(&conf->device_lock); 4041 conf->reshape_progress = size; 4043 conf->reshape_progress = 0; 4044 conf->reshape_safe = conf->reshape_progress; 4045 spin_unlock_irq(&conf->device_lock); 4050 conf->geo.raid_disks), 4061 conf->prev.raid_disks) rdev_for_each() 4069 } else if (rdev->raid_disk >= conf->prev.raid_disks 4079 spin_lock_irq(&conf->device_lock); 4080 mddev->degraded = calc_degraded(conf); 4081 spin_unlock_irq(&conf->device_lock); 4082 mddev->raid_disks = conf->geo.raid_disks; 4083 mddev->reshape_position = conf->reshape_progress; 4098 conf->reshape_checkpoint = jiffies; 4105 spin_lock_irq(&conf->device_lock); 4106 conf->geo = conf->prev; 4107 mddev->raid_disks = conf->geo.raid_disks; 4111 conf->reshape_progress = MaxSector; 4112 conf->reshape_safe = MaxSector; 4114 spin_unlock_irq(&conf->device_lock); 4179 * (conf->offset_diff - always positive) allows a bit of slack, reshape_request() 4189 struct r10conf *conf = mddev->private; reshape_request() local 4204 conf->reshape_progress < raid10_size(mddev, 0, 0)) { reshape_request() 4206 - conf->reshape_progress); reshape_request() 4208 conf->reshape_progress > 0) reshape_request() 4209 sector_nr = conf->reshape_progress; reshape_request() 4226 next = first_dev_address(conf->reshape_progress - 1, reshape_request() 4227 &conf->geo); reshape_request() 4232 safe = last_dev_address(conf->reshape_safe - 1, reshape_request() 4233 &conf->prev); reshape_request() 4235 if (next + conf->offset_diff < safe) reshape_request() 4238 last = conf->reshape_progress - 1; reshape_request() 4239 sector_nr = last & ~(sector_t)(conf->geo.chunk_mask reshape_request() 4240 & conf->prev.chunk_mask); reshape_request() 4247 next = last_dev_address(conf->reshape_progress, &conf->geo); reshape_request() 4252 safe = first_dev_address(conf->reshape_safe, &conf->prev); reshape_request() 4257 if (next > safe + conf->offset_diff) reshape_request() 4260 sector_nr = conf->reshape_progress; reshape_request() 4261 last = sector_nr | (conf->geo.chunk_mask reshape_request() 4262 & conf->prev.chunk_mask); reshape_request() 4269 time_after(jiffies, conf->reshape_checkpoint + 10*HZ)) { reshape_request() 4271 wait_barrier(conf); reshape_request() 4272 mddev->reshape_position = conf->reshape_progress; reshape_request() 4275 - conf->reshape_progress; reshape_request() 4277 mddev->curr_resync_completed = conf->reshape_progress; reshape_request() 4278 conf->reshape_checkpoint = jiffies; reshape_request() 4284 allow_barrier(conf); reshape_request() 4287 conf->reshape_safe = mddev->reshape_position; reshape_request() 4288 allow_barrier(conf); reshape_request() 4293 r10_bio = mempool_alloc(conf->r10buf_pool, GFP_NOIO); reshape_request() 4295 raise_barrier(conf, sectors_done != 0); reshape_request() 4301 rdev = read_balance(conf, r10_bio, &max_sectors); reshape_request() 4309 mempool_free(r10_bio, conf->r10buf_pool); reshape_request() 4330 __raid10_find_phys(&conf->geo, r10_bio); reshape_request() 4335 for (s = 0; s < conf->copies*2; s++) { reshape_request() 4340 rdev2 = conf->mirrors[d].replacement; reshape_request() 4343 rdev2 = conf->mirrors[d].rdev; reshape_request() 4404 conf->reshape_progress -= sectors_done; reshape_request() 4406 conf->reshape_progress += sectors_done; reshape_request() 4421 struct r10conf *conf = mddev->private; reshape_request_write() local 4435 for (s = 0; s < conf->copies*2; s++) { reshape_request_write() 4440 rdev = conf->mirrors[d].replacement; reshape_request_write() 4443 rdev = conf->mirrors[d].rdev; reshape_request_write() 4457 static void end_reshape(struct r10conf *conf) end_reshape() argument 4459 if (test_bit(MD_RECOVERY_INTR, &conf->mddev->recovery)) end_reshape() 4462 spin_lock_irq(&conf->device_lock); end_reshape() 4463 conf->prev = conf->geo; end_reshape() 4464 md_finish_reshape(conf->mddev); end_reshape() 4466 conf->reshape_progress = MaxSector; end_reshape() 4467 conf->reshape_safe = MaxSector; end_reshape() 4468 spin_unlock_irq(&conf->device_lock); end_reshape() 4473 if (conf->mddev->queue) { end_reshape() 4474 int stripe = conf->geo.raid_disks * end_reshape() 4475 ((conf->mddev->chunk_sectors << 9) / PAGE_SIZE); end_reshape() 4476 stripe /= conf->geo.near_copies; end_reshape() 4477 if (conf->mddev->queue->backing_dev_info.ra_pages < 2 * stripe) end_reshape() 4478 conf->mddev->queue->backing_dev_info.ra_pages = 2 * stripe; end_reshape() 4480 conf->fullsync = 0; end_reshape() 4488 struct r10conf *conf = mddev->private; handle_reshape_read_error() local 4491 struct r10dev devs[conf->copies]; handle_reshape_read_error() 4499 __raid10_find_phys(&conf->prev, r10b); handle_reshape_read_error() 4511 struct md_rdev *rdev = conf->mirrors[d].rdev; handle_reshape_read_error() 4528 if (slot >= conf->copies) handle_reshape_read_error() 4549 struct r10conf *conf = mddev->private; end_reshape_write() local 4555 d = find_bio_disk(conf, r10_bio, bio, &slot, &repl); end_reshape_write() 4557 rdev = conf->mirrors[d].replacement; end_reshape_write() 4560 rdev = conf->mirrors[d].rdev; end_reshape_write() 4583 struct r10conf *conf = mddev->private; raid10_finish_reshape() local 4600 for (d = conf->geo.raid_disks ; raid10_finish_reshape() 4601 d < conf->geo.raid_disks - mddev->delta_disks; raid10_finish_reshape() 4603 struct md_rdev *rdev = conf->mirrors[d].rdev; raid10_finish_reshape() 4606 rdev = conf->mirrors[d].replacement; raid10_finish_reshape() 4612 mddev->chunk_sectors = 1 << conf->geo.chunk_shift; raid10_finish_reshape()
|
H A D | raid5.c | 30 * conf->seq_write is the number of the last batch successfully written. 31 * conf->seq_flush is the number of the last batch that was closed to 87 static inline struct hlist_head *stripe_hash(struct r5conf *conf, sector_t sect) stripe_hash() argument 90 return &conf->stripe_hashtbl[hash]; stripe_hash() 98 static inline void lock_device_hash_lock(struct r5conf *conf, int hash) lock_device_hash_lock() argument 100 spin_lock_irq(conf->hash_locks + hash); lock_device_hash_lock() 101 spin_lock(&conf->device_lock); lock_device_hash_lock() 104 static inline void unlock_device_hash_lock(struct r5conf *conf, int hash) unlock_device_hash_lock() argument 106 spin_unlock(&conf->device_lock); unlock_device_hash_lock() 107 spin_unlock_irq(conf->hash_locks + hash); unlock_device_hash_lock() 110 static inline void lock_all_device_hash_locks_irq(struct r5conf *conf) lock_all_device_hash_locks_irq() argument 114 spin_lock(conf->hash_locks); lock_all_device_hash_locks_irq() 116 spin_lock_nest_lock(conf->hash_locks + i, conf->hash_locks); lock_all_device_hash_locks_irq() 117 spin_lock(&conf->device_lock); lock_all_device_hash_locks_irq() 120 static inline void unlock_all_device_hash_locks_irq(struct r5conf *conf) unlock_all_device_hash_locks_irq() argument 123 spin_unlock(&conf->device_lock); unlock_all_device_hash_locks_irq() 125 spin_unlock(conf->hash_locks + i - 1); unlock_all_device_hash_locks_irq() 237 static void print_raid5_conf (struct r5conf *conf); 248 struct r5conf *conf = sh->raid_conf; raid5_wakeup_stripe_thread() local 260 group = conf->worker_groups + cpu_to_group(cpu); raid5_wakeup_stripe_thread() 266 if (conf->worker_cnt_per_group == 0) { raid5_wakeup_stripe_thread() 267 md_wakeup_thread(conf->mddev->thread); raid5_wakeup_stripe_thread() 271 group = conf->worker_groups + cpu_to_group(sh->cpu); raid5_wakeup_stripe_thread() 279 for (i = 1; i < conf->worker_cnt_per_group && thread_cnt > 0; i++) { raid5_wakeup_stripe_thread() 289 static void do_release_stripe(struct r5conf *conf, struct stripe_head *sh, do_release_stripe() argument 293 BUG_ON(atomic_read(&conf->active_stripes)==0); do_release_stripe() 297 list_add_tail(&sh->lru, &conf->delayed_list); do_release_stripe() 299 sh->bm_seq - conf->seq_write > 0) do_release_stripe() 300 list_add_tail(&sh->lru, &conf->bitmap_list); do_release_stripe() 304 if (conf->worker_cnt_per_group == 0) { do_release_stripe() 305 list_add_tail(&sh->lru, &conf->handle_list); do_release_stripe() 311 md_wakeup_thread(conf->mddev->thread); do_release_stripe() 315 if (atomic_dec_return(&conf->preread_active_stripes) do_release_stripe() 317 md_wakeup_thread(conf->mddev->thread); do_release_stripe() 318 atomic_dec(&conf->active_stripes); do_release_stripe() 324 static void __release_stripe(struct r5conf *conf, struct stripe_head *sh, __release_stripe() argument 328 do_release_stripe(conf, sh, temp_inactive_list); __release_stripe() 338 static void release_inactive_stripe_list(struct r5conf *conf, release_inactive_stripe_list() argument 359 spin_lock_irqsave(conf->hash_locks + hash, flags); release_inactive_stripe_list() 360 if (list_empty(conf->inactive_list + hash) && release_inactive_stripe_list() 362 atomic_dec(&conf->empty_inactive_list_nr); release_inactive_stripe_list() 363 list_splice_tail_init(list, conf->inactive_list + hash); release_inactive_stripe_list() 365 spin_unlock_irqrestore(conf->hash_locks + hash, flags); release_inactive_stripe_list() 372 wake_up(&conf->wait_for_stripe); release_inactive_stripe_list() 373 if (atomic_read(&conf->active_stripes) == 0) release_inactive_stripe_list() 374 wake_up(&conf->wait_for_quiescent); release_inactive_stripe_list() 375 if (conf->retry_read_aligned) release_inactive_stripe_list() 376 md_wakeup_thread(conf->mddev->thread); release_inactive_stripe_list() 380 /* should hold conf->device_lock already */ release_stripe_list() 381 static int release_stripe_list(struct r5conf *conf, release_stripe_list() argument 388 head = llist_del_all(&conf->released_stripes); release_stripe_list() 404 __release_stripe(conf, sh, &temp_inactive_list[hash]); release_stripe_list() 413 struct r5conf *conf = sh->raid_conf; raid5_release_stripe() local 424 if (unlikely(!conf->mddev->thread) || raid5_release_stripe() 427 wakeup = llist_add(&sh->release_list, &conf->released_stripes); raid5_release_stripe() 429 md_wakeup_thread(conf->mddev->thread); raid5_release_stripe() 434 if (atomic_dec_and_lock(&sh->count, &conf->device_lock)) { raid5_release_stripe() 437 do_release_stripe(conf, sh, &list); raid5_release_stripe() 438 spin_unlock(&conf->device_lock); raid5_release_stripe() 439 release_inactive_stripe_list(conf, &list, hash); raid5_release_stripe() 452 static inline void insert_hash(struct r5conf *conf, struct stripe_head *sh) insert_hash() argument 454 struct hlist_head *hp = stripe_hash(conf, sh->sector); insert_hash() 463 static struct stripe_head *get_free_stripe(struct r5conf *conf, int hash) get_free_stripe() argument 468 if (list_empty(conf->inactive_list + hash)) get_free_stripe() 470 first = (conf->inactive_list + hash)->next; get_free_stripe() 474 atomic_inc(&conf->active_stripes); get_free_stripe() 476 if (list_empty(conf->inactive_list + hash)) get_free_stripe() 477 atomic_inc(&conf->empty_inactive_list_nr); get_free_stripe() 516 static void stripe_set_idx(sector_t stripe, struct r5conf *conf, int previous, 521 struct r5conf *conf = sh->raid_conf; init_stripe() local 532 seq = read_seqcount_begin(&conf->gen_lock); init_stripe() 533 sh->generation = conf->generation - previous; init_stripe() 534 sh->disks = previous ? conf->previous_raid_disks : conf->raid_disks; init_stripe() 536 stripe_set_idx(sector, conf, previous, sh); init_stripe() 553 if (read_seqcount_retry(&conf->gen_lock, seq)) init_stripe() 556 insert_hash(conf, sh); init_stripe() 561 static struct stripe_head *__find_stripe(struct r5conf *conf, sector_t sector, __find_stripe() argument 567 hlist_for_each_entry(sh, stripe_hash(conf, sector), hash) __find_stripe() 587 static int calc_degraded(struct r5conf *conf) calc_degraded() argument 594 for (i = 0; i < conf->previous_raid_disks; i++) { calc_degraded() 595 struct md_rdev *rdev = rcu_dereference(conf->disks[i].rdev); calc_degraded() 597 rdev = rcu_dereference(conf->disks[i].replacement); calc_degraded() 612 if (conf->raid_disks >= conf->previous_raid_disks) calc_degraded() 616 if (conf->raid_disks == conf->previous_raid_disks) calc_degraded() 620 for (i = 0; i < conf->raid_disks; i++) { calc_degraded() 621 struct md_rdev *rdev = rcu_dereference(conf->disks[i].rdev); calc_degraded() 623 rdev = rcu_dereference(conf->disks[i].replacement); calc_degraded() 634 if (conf->raid_disks <= conf->previous_raid_disks) calc_degraded() 643 static int has_failed(struct r5conf *conf) has_failed() argument 647 if (conf->mddev->reshape_position == MaxSector) has_failed() 648 return conf->mddev->degraded > conf->max_degraded; has_failed() 650 degraded = calc_degraded(conf); has_failed() 651 if (degraded > conf->max_degraded) has_failed() 657 raid5_get_active_stripe(struct r5conf *conf, sector_t sector, raid5_get_active_stripe() argument 665 spin_lock_irq(conf->hash_locks + hash); raid5_get_active_stripe() 668 wait_event_lock_irq(conf->wait_for_quiescent, raid5_get_active_stripe() 669 conf->quiesce == 0 || noquiesce, raid5_get_active_stripe() 670 *(conf->hash_locks + hash)); raid5_get_active_stripe() 671 sh = __find_stripe(conf, sector, conf->generation - previous); raid5_get_active_stripe() 673 if (!test_bit(R5_INACTIVE_BLOCKED, &conf->cache_state)) { raid5_get_active_stripe() 674 sh = get_free_stripe(conf, hash); raid5_get_active_stripe() 676 &conf->cache_state)) raid5_get_active_stripe() 678 &conf->cache_state); raid5_get_active_stripe() 684 &conf->cache_state); raid5_get_active_stripe() 686 conf->wait_for_stripe, raid5_get_active_stripe() 687 !list_empty(conf->inactive_list + hash) && raid5_get_active_stripe() 688 (atomic_read(&conf->active_stripes) raid5_get_active_stripe() 689 < (conf->max_nr_stripes * 3 / 4) raid5_get_active_stripe() 691 &conf->cache_state)), raid5_get_active_stripe() 692 *(conf->hash_locks + hash)); raid5_get_active_stripe() 694 &conf->cache_state); raid5_get_active_stripe() 700 spin_lock(&conf->device_lock); raid5_get_active_stripe() 703 atomic_inc(&conf->active_stripes); raid5_get_active_stripe() 713 spin_unlock(&conf->device_lock); raid5_get_active_stripe() 717 spin_unlock_irq(conf->hash_locks + hash); raid5_get_active_stripe() 749 struct r5conf *conf = sh->raid_conf; stripe_can_batch() local 751 if (conf->log) stripe_can_batch() 759 static void stripe_add_to_batch_list(struct r5conf *conf, struct stripe_head *sh) stripe_add_to_batch_list() argument 770 if (!sector_div(tmp_sec, conf->chunk_sectors)) stripe_add_to_batch_list() 775 spin_lock_irq(conf->hash_locks + hash); stripe_add_to_batch_list() 776 head = __find_stripe(conf, head_sector, conf->generation); stripe_add_to_batch_list() 778 spin_lock(&conf->device_lock); stripe_add_to_batch_list() 781 atomic_inc(&conf->active_stripes); stripe_add_to_batch_list() 791 spin_unlock(&conf->device_lock); stripe_add_to_batch_list() 793 spin_unlock_irq(conf->hash_locks + hash); stripe_add_to_batch_list() 839 if (atomic_dec_return(&conf->preread_active_stripes) stripe_add_to_batch_list() 841 md_wakeup_thread(conf->mddev->thread); stripe_add_to_batch_list() 862 static int use_new_offset(struct r5conf *conf, struct stripe_head *sh) use_new_offset() argument 864 sector_t progress = conf->reshape_progress; use_new_offset() 866 * of conf->generation, or ->data_offset that was set before use_new_offset() 872 if (sh->generation == conf->generation - 1) use_new_offset() 887 struct r5conf *conf = sh->raid_conf; ops_run_io() local 893 if (r5l_write_stripe(conf->log, sh) == 0) ops_run_io() 925 rrdev = rcu_dereference(conf->disks[i].replacement); ops_run_io() 927 rdev = rcu_dereference(conf->disks[i].rdev); ops_run_io() 969 if (!conf->mddev->external && ops_run_io() 970 conf->mddev->flags) { ops_run_io() 975 md_check_recovery(conf->mddev); ops_run_io() 983 md_wait_for_blocked_rdev(rdev, conf->mddev); ops_run_io() 986 rdev_dec_pending(rdev, conf->mddev); ops_run_io() 1012 if (use_new_offset(conf, sh)) ops_run_io() 1037 if (conf->mddev->gendisk) ops_run_io() 1039 bi, disk_devt(conf->mddev->gendisk), ops_run_io() 1064 if (use_new_offset(conf, sh)) ops_run_io() 1083 if (conf->mddev->gendisk) ops_run_io() 1085 rbi, disk_devt(conf->mddev->gendisk), ops_run_io() 1918 struct r5conf *conf = sh->raid_conf; raid_run_ops() local 1919 int level = conf->level; raid_run_ops() 1924 percpu = per_cpu_ptr(conf->percpu, cpu); raid_run_ops() 1997 static int grow_one_stripe(struct r5conf *conf, gfp_t gfp) grow_one_stripe() argument 2001 sh = alloc_stripe(conf->slab_cache, gfp); grow_one_stripe() 2005 sh->raid_conf = conf; grow_one_stripe() 2009 kmem_cache_free(conf->slab_cache, sh); grow_one_stripe() 2013 conf->max_nr_stripes % NR_STRIPE_HASH_LOCKS; grow_one_stripe() 2015 atomic_inc(&conf->active_stripes); grow_one_stripe() 2018 conf->max_nr_stripes++; grow_one_stripe() 2022 static int grow_stripes(struct r5conf *conf, int num) grow_stripes() argument 2025 int devs = max(conf->raid_disks, conf->previous_raid_disks); grow_stripes() 2027 if (conf->mddev->gendisk) grow_stripes() 2028 sprintf(conf->cache_name[0], grow_stripes() 2029 "raid%d-%s", conf->level, mdname(conf->mddev)); grow_stripes() 2031 sprintf(conf->cache_name[0], grow_stripes() 2032 "raid%d-%p", conf->level, conf->mddev); grow_stripes() 2033 sprintf(conf->cache_name[1], "%s-alt", conf->cache_name[0]); grow_stripes() 2035 conf->active_name = 0; grow_stripes() 2036 sc = kmem_cache_create(conf->cache_name[conf->active_name], grow_stripes() 2041 conf->slab_cache = sc; grow_stripes() 2042 conf->pool_size = devs; grow_stripes() 2044 if (!grow_one_stripe(conf, GFP_KERNEL)) grow_stripes() 2080 static int resize_chunks(struct r5conf *conf, int new_disks, int new_sectors) resize_chunks() argument 2090 if (conf->scribble_disks >= new_disks && resize_chunks() 2091 conf->scribble_sectors >= new_sectors) resize_chunks() 2093 mddev_suspend(conf->mddev); resize_chunks() 2099 percpu = per_cpu_ptr(conf->percpu, cpu); for_each_present_cpu() 2113 mddev_resume(conf->mddev); 2115 conf->scribble_disks = new_disks; 2116 conf->scribble_sectors = new_sectors; 2121 static int resize_stripes(struct r5conf *conf, int newsize) resize_stripes() argument 2135 * 3/ reallocate conf->disks to be suitable bigger. If this fails, resize_stripes() 2154 if (newsize <= conf->pool_size) resize_stripes() 2157 err = md_allow_write(conf->mddev); resize_stripes() 2162 sc = kmem_cache_create(conf->cache_name[1-conf->active_name], resize_stripes() 2169 mutex_lock(&conf->cache_size_mutex); resize_stripes() 2171 for (i = conf->max_nr_stripes; i; i--) { resize_stripes() 2176 nsh->raid_conf = conf; resize_stripes() 2187 mutex_unlock(&conf->cache_size_mutex); resize_stripes() 2197 lock_device_hash_lock(conf, hash); resize_stripes() 2198 wait_event_cmd(conf->wait_for_stripe, resize_stripes() 2199 !list_empty(conf->inactive_list + hash), resize_stripes() 2200 unlock_device_hash_lock(conf, hash), resize_stripes() 2201 lock_device_hash_lock(conf, hash)); resize_stripes() 2202 osh = get_free_stripe(conf, hash); resize_stripes() 2203 unlock_device_hash_lock(conf, hash); resize_stripes() 2205 for(i=0; i<conf->pool_size; i++) { resize_stripes() 2210 kmem_cache_free(conf->slab_cache, osh); resize_stripes() 2212 if (cnt >= conf->max_nr_stripes / NR_STRIPE_HASH_LOCKS + resize_stripes() 2213 !!((conf->max_nr_stripes % NR_STRIPE_HASH_LOCKS) > hash)) { resize_stripes() 2218 kmem_cache_destroy(conf->slab_cache); resize_stripes() 2223 * conf->disks and the scribble region resize_stripes() 2227 for (i=0; i<conf->raid_disks; i++) resize_stripes() 2228 ndisks[i] = conf->disks[i]; resize_stripes() 2229 kfree(conf->disks); resize_stripes() 2230 conf->disks = ndisks; resize_stripes() 2234 mutex_unlock(&conf->cache_size_mutex); resize_stripes() 2240 for (i=conf->raid_disks; i < newsize; i++) resize_stripes() 2252 conf->slab_cache = sc; resize_stripes() 2253 conf->active_name = 1-conf->active_name; resize_stripes() 2255 conf->pool_size = newsize; resize_stripes() 2259 static int drop_one_stripe(struct r5conf *conf) drop_one_stripe() argument 2262 int hash = (conf->max_nr_stripes - 1) & STRIPE_HASH_LOCKS_MASK; drop_one_stripe() 2264 spin_lock_irq(conf->hash_locks + hash); drop_one_stripe() 2265 sh = get_free_stripe(conf, hash); drop_one_stripe() 2266 spin_unlock_irq(conf->hash_locks + hash); drop_one_stripe() 2271 kmem_cache_free(conf->slab_cache, sh); drop_one_stripe() 2272 atomic_dec(&conf->active_stripes); drop_one_stripe() 2273 conf->max_nr_stripes--; drop_one_stripe() 2277 static void shrink_stripes(struct r5conf *conf) shrink_stripes() argument 2279 while (conf->max_nr_stripes && shrink_stripes() 2280 drop_one_stripe(conf)) shrink_stripes() 2283 kmem_cache_destroy(conf->slab_cache); shrink_stripes() 2284 conf->slab_cache = NULL; shrink_stripes() 2290 struct r5conf *conf = sh->raid_conf; raid5_end_read_request() local 2313 rdev = conf->disks[i].replacement; raid5_end_read_request() 2315 rdev = conf->disks[i].rdev; raid5_end_read_request() 2317 if (use_new_offset(conf, sh)) raid5_end_read_request() 2332 mdname(conf->mddev), STRIPE_SECTORS, raid5_end_read_request() 2355 mdname(conf->mddev), raid5_end_read_request() 2358 else if (conf->mddev->degraded >= conf->max_degraded) { raid5_end_read_request() 2364 mdname(conf->mddev), raid5_end_read_request() 2374 mdname(conf->mddev), raid5_end_read_request() 2378 > conf->max_nr_stripes) raid5_end_read_request() 2381 mdname(conf->mddev), bdn); raid5_end_read_request() 2400 md_error(conf->mddev, rdev); raid5_end_read_request() 2403 rdev_dec_pending(rdev, conf->mddev); raid5_end_read_request() 2412 struct r5conf *conf = sh->raid_conf; raid5_end_write_request() local 2421 rdev = conf->disks[i].rdev; raid5_end_write_request() 2425 rdev = conf->disks[i].replacement; raid5_end_write_request() 2433 rdev = conf->disks[i].rdev; raid5_end_write_request() 2447 md_error(conf->mddev, rdev); raid5_end_write_request() 2472 rdev_dec_pending(rdev, conf->mddev); raid5_end_write_request() 2507 struct r5conf *conf = mddev->private; error() local 2511 spin_lock_irqsave(&conf->device_lock, flags); error() 2513 mddev->degraded = calc_degraded(conf); error() 2514 spin_unlock_irqrestore(&conf->device_lock, flags); error() 2527 conf->raid_disks - mddev->degraded); error() 2534 sector_t raid5_compute_sector(struct r5conf *conf, sector_t r_sector, raid5_compute_sector() argument 2544 int algorithm = previous ? conf->prev_algo raid5_compute_sector() 2545 : conf->algorithm; raid5_compute_sector() 2546 int sectors_per_chunk = previous ? conf->prev_chunk_sectors raid5_compute_sector() 2547 : conf->chunk_sectors; raid5_compute_sector() 2548 int raid_disks = previous ? conf->previous_raid_disks raid5_compute_sector() 2549 : conf->raid_disks; raid5_compute_sector() 2550 int data_disks = raid_disks - conf->max_degraded; raid5_compute_sector() 2570 switch(conf->level) { raid5_compute_sector() 2738 struct r5conf *conf = sh->raid_conf; raid5_compute_blocknr() local 2740 int data_disks = raid_disks - conf->max_degraded; raid5_compute_blocknr() 2742 int sectors_per_chunk = previous ? conf->prev_chunk_sectors raid5_compute_blocknr() 2743 : conf->chunk_sectors; raid5_compute_blocknr() 2744 int algorithm = previous ? conf->prev_algo raid5_compute_blocknr() 2745 : conf->algorithm; raid5_compute_blocknr() 2758 switch(conf->level) { raid5_compute_blocknr() 2845 check = raid5_compute_sector(conf, r_sector, raid5_compute_blocknr() 2850 mdname(conf->mddev)); raid5_compute_blocknr() 2861 struct r5conf *conf = sh->raid_conf; schedule_reconstruction() local 2862 int level = conf->level; schedule_reconstruction() 2892 if (s->locked + conf->max_degraded == disks) schedule_reconstruction() 2894 atomic_inc(&conf->pending_full_writes); schedule_reconstruction() 2955 struct r5conf *conf = sh->raid_conf; add_stripe_bio() local 3016 if (conf->mddev->bitmap && firstwrite) { add_stripe_bio() 3031 bitmap_startwrite(conf->mddev->bitmap, sh->sector, add_stripe_bio() 3036 sh->bm_seq = conf->seq_flush+1; add_stripe_bio() 3043 stripe_add_to_batch_list(conf, sh); add_stripe_bio() 3052 static void end_reshape(struct r5conf *conf); 3054 static void stripe_set_idx(sector_t stripe, struct r5conf *conf, int previous, stripe_set_idx() argument 3058 previous ? conf->prev_chunk_sectors : conf->chunk_sectors; stripe_set_idx() 3061 int disks = previous ? conf->previous_raid_disks : conf->raid_disks; stripe_set_idx() 3063 raid5_compute_sector(conf, stripe_set_idx() 3064 stripe * (disks - conf->max_degraded) stripe_set_idx() 3071 handle_failed_stripe(struct r5conf *conf, struct stripe_head *sh, handle_failed_stripe() argument 3084 rdev = rcu_dereference(conf->disks[i].rdev); handle_failed_stripe() 3095 md_error(conf->mddev, rdev); handle_failed_stripe() 3096 rdev_dec_pending(rdev, conf->mddev); handle_failed_stripe() 3111 wake_up(&conf->wait_for_overlap); handle_failed_stripe() 3119 md_write_end(conf->mddev); handle_failed_stripe() 3125 bitmap_endwrite(conf->mddev->bitmap, sh->sector, handle_failed_stripe() 3143 md_write_end(conf->mddev); handle_failed_stripe() 3153 s->failed > conf->max_degraded && handle_failed_stripe() 3161 wake_up(&conf->wait_for_overlap); handle_failed_stripe() 3176 bitmap_endwrite(conf->mddev->bitmap, sh->sector, handle_failed_stripe() 3187 if (atomic_dec_and_test(&conf->pending_full_writes)) handle_failed_stripe() 3188 md_wakeup_thread(conf->mddev->thread); handle_failed_stripe() 3192 handle_failed_sync(struct r5conf *conf, struct stripe_head *sh, handle_failed_sync() argument 3201 wake_up(&conf->wait_for_overlap); handle_failed_sync() 3211 if (test_bit(MD_RECOVERY_RECOVER, &conf->mddev->recovery)) { handle_failed_sync() 3215 for (i = 0; i < conf->raid_disks; i++) { handle_failed_sync() 3216 struct md_rdev *rdev = conf->disks[i].rdev; handle_failed_sync() 3223 rdev = conf->disks[i].replacement; handle_failed_sync() 3232 conf->recovery_disabled = handle_failed_sync() 3233 conf->mddev->recovery_disabled; handle_failed_sync() 3235 md_done_sync(conf->mddev, STRIPE_SECTORS, !abort); handle_failed_sync() 3451 static void handle_stripe_clean_event(struct r5conf *conf, handle_stripe_clean_event() argument 3485 md_write_end(conf->mddev); handle_stripe_clean_event() 3490 bitmap_endwrite(conf->mddev->bitmap, sh->sector, handle_stripe_clean_event() 3531 spin_lock_irq(conf->hash_locks + hash); handle_stripe_clean_event() 3533 spin_unlock_irq(conf->hash_locks + hash); handle_stripe_clean_event() 3548 if (atomic_dec_and_test(&conf->pending_full_writes)) handle_stripe_clean_event() 3549 md_wakeup_thread(conf->mddev->thread); handle_stripe_clean_event() 3555 static void handle_stripe_dirtying(struct r5conf *conf, handle_stripe_dirtying() argument 3561 sector_t recovery_cp = conf->mddev->recovery_cp; handle_stripe_dirtying() 3570 if (conf->rmw_level == PARITY_DISABLE_RMW || handle_stripe_dirtying() 3578 conf->rmw_level, (unsigned long long)recovery_cp, handle_stripe_dirtying() 3607 if ((rmw < rcw || (rmw == rcw && conf->rmw_level == PARITY_ENABLE_RMW)) && rmw > 0) { handle_stripe_dirtying() 3609 if (conf->mddev->queue) handle_stripe_dirtying() 3610 blk_add_trace_msg(conf->mddev->queue, handle_stripe_dirtying() 3634 if ((rcw < rmw || (rcw == rmw && conf->rmw_level != PARITY_ENABLE_RMW)) && rcw > 0) { handle_stripe_dirtying() 3661 if (rcw && conf->mddev->queue) handle_stripe_dirtying() 3662 blk_add_trace_msg(conf->mddev->queue, "raid5 rcw %llu %d %d %d", handle_stripe_dirtying() 3687 static void handle_parity_checks5(struct r5conf *conf, struct stripe_head *sh, handle_parity_checks5() argument 3749 atomic64_add(STRIPE_SECTORS, &conf->mddev->resync_mismatches); handle_parity_checks5() 3750 if (test_bit(MD_RECOVERY_CHECK, &conf->mddev->recovery)) handle_parity_checks5() 3775 static void handle_parity_checks6(struct r5conf *conf, struct stripe_head *sh, handle_parity_checks6() argument 3901 atomic64_add(STRIPE_SECTORS, &conf->mddev->resync_mismatches); handle_parity_checks6() 3902 if (test_bit(MD_RECOVERY_CHECK, &conf->mddev->recovery)) handle_parity_checks6() 3939 static void handle_stripe_expansion(struct r5conf *conf, struct stripe_head *sh) handle_stripe_expansion() argument 3956 sector_t s = raid5_compute_sector(conf, bn, 0, handle_stripe_expansion() 3958 sh2 = raid5_get_active_stripe(conf, s, 0, 1, 1); handle_stripe_expansion() 3980 for (j = 0; j < conf->raid_disks; j++) handle_stripe_expansion() 3985 if (j == conf->raid_disks) { handle_stripe_expansion() 4012 struct r5conf *conf = sh->raid_conf; analyse_stripe() local 4024 s->log_failed = r5l_log_disk_error(conf); analyse_stripe() 4072 rdev = rcu_dereference(conf->disks[i].replacement); analyse_stripe() 4083 rdev = rcu_dereference(conf->disks[i].rdev); analyse_stripe() 4131 conf->disks[i].rdev); analyse_stripe() 4144 conf->disks[i].rdev); analyse_stripe() 4153 conf->disks[i].replacement); analyse_stripe() 4185 sh->sector >= conf->mddev->recovery_cp || analyse_stripe() 4186 test_bit(MD_RECOVERY_REQUESTED, &(conf->mddev->recovery))) analyse_stripe() 4294 struct r5conf *conf = sh->raid_conf; handle_stripe() local 4352 rdev_dec_pending(s.blocked_rdev, conf->mddev); handle_stripe() 4368 if (s.failed > conf->max_degraded || s.log_failed) { handle_stripe() 4373 handle_failed_stripe(conf, sh, &s, disks, &s.return_bi); handle_stripe() 4375 handle_failed_sync(conf, sh, &s); handle_stripe() 4427 || conf->level < 6; handle_stripe() 4438 handle_stripe_clean_event(conf, sh, disks, &s.return_bi); handle_stripe() 4445 || (conf->level == 6 && s.to_write && s.failed) handle_stripe() 4458 handle_stripe_dirtying(conf, sh, &s, disks); handle_stripe() 4469 if (conf->level == 6) handle_stripe() 4470 handle_parity_checks6(conf, sh, &s, disks); handle_stripe() 4472 handle_parity_checks5(conf, sh, &s, disks); handle_stripe() 4479 for (i = 0; i < conf->raid_disks; i++) handle_stripe() 4493 md_done_sync(conf->mddev, STRIPE_SECTORS, 1); handle_stripe() 4496 wake_up(&conf->wait_for_overlap); handle_stripe() 4502 if (s.failed <= conf->max_degraded && !conf->mddev->ro) handle_stripe() 4526 = raid5_get_active_stripe(conf, sh->sector, 1, 1, 1); handle_stripe() 4535 atomic_inc(&conf->preread_active_stripes); handle_stripe() 4544 for (i = conf->raid_disks; i--; ) { handle_stripe() 4554 sh->disks = conf->raid_disks; handle_stripe() 4555 stripe_set_idx(sh->sector, conf, 0, sh); handle_stripe() 4559 atomic_dec(&conf->reshape_stripes); handle_stripe() 4560 wake_up(&conf->wait_for_overlap); handle_stripe() 4561 md_done_sync(conf->mddev, STRIPE_SECTORS, 1); handle_stripe() 4566 handle_stripe_expansion(conf, sh); handle_stripe() 4571 if (conf->mddev->external) handle_stripe() 4573 conf->mddev); handle_stripe() 4580 conf->mddev); handle_stripe() 4589 rdev = conf->disks[i].rdev; handle_stripe() 4592 md_error(conf->mddev, rdev); handle_stripe() 4593 rdev_dec_pending(rdev, conf->mddev); handle_stripe() 4596 rdev = conf->disks[i].rdev; handle_stripe() 4599 rdev_dec_pending(rdev, conf->mddev); handle_stripe() 4602 rdev = conf->disks[i].replacement; handle_stripe() 4605 rdev = conf->disks[i].rdev; handle_stripe() 4608 rdev_dec_pending(rdev, conf->mddev); handle_stripe() 4622 atomic_dec(&conf->preread_active_stripes); handle_stripe() 4623 if (atomic_read(&conf->preread_active_stripes) < handle_stripe() 4625 md_wakeup_thread(conf->mddev->thread); handle_stripe() 4629 if (test_bit(MD_CHANGE_PENDING, &conf->mddev->flags)) { handle_stripe() 4630 spin_lock_irq(&conf->device_lock); handle_stripe() 4631 bio_list_merge(&conf->return_bi, &s.return_bi); handle_stripe() 4632 spin_unlock_irq(&conf->device_lock); handle_stripe() 4633 md_wakeup_thread(conf->mddev->thread); handle_stripe() 4641 static void raid5_activate_delayed(struct r5conf *conf) raid5_activate_delayed() argument 4643 if (atomic_read(&conf->preread_active_stripes) < IO_THRESHOLD) { raid5_activate_delayed() 4644 while (!list_empty(&conf->delayed_list)) { raid5_activate_delayed() 4645 struct list_head *l = conf->delayed_list.next; raid5_activate_delayed() 4651 atomic_inc(&conf->preread_active_stripes); raid5_activate_delayed() 4652 list_add_tail(&sh->lru, &conf->hold_list); raid5_activate_delayed() 4658 static void activate_bit_delay(struct r5conf *conf, activate_bit_delay() argument 4663 list_add(&head, &conf->bitmap_list); activate_bit_delay() 4664 list_del_init(&conf->bitmap_list); activate_bit_delay() 4671 __release_stripe(conf, sh, &temp_inactive_list[hash]); activate_bit_delay() 4677 struct r5conf *conf = mddev->private; raid5_congested() local 4683 if (test_bit(R5_INACTIVE_BLOCKED, &conf->cache_state)) raid5_congested() 4685 if (conf->quiesce) raid5_congested() 4687 if (atomic_read(&conf->empty_inactive_list_nr)) raid5_congested() 4695 struct r5conf *conf = mddev->private; in_chunk_boundary() local 4700 chunk_sectors = min(conf->chunk_sectors, conf->prev_chunk_sectors); in_chunk_boundary() 4709 static void add_bio_to_retry(struct bio *bi,struct r5conf *conf) add_bio_to_retry() argument 4713 spin_lock_irqsave(&conf->device_lock, flags); add_bio_to_retry() 4715 bi->bi_next = conf->retry_read_aligned_list; add_bio_to_retry() 4716 conf->retry_read_aligned_list = bi; add_bio_to_retry() 4718 spin_unlock_irqrestore(&conf->device_lock, flags); add_bio_to_retry() 4719 md_wakeup_thread(conf->mddev->thread); add_bio_to_retry() 4722 static struct bio *remove_bio_from_retry(struct r5conf *conf) remove_bio_from_retry() argument 4726 bi = conf->retry_read_aligned; remove_bio_from_retry() 4728 conf->retry_read_aligned = NULL; remove_bio_from_retry() 4731 bi = conf->retry_read_aligned_list; remove_bio_from_retry() 4733 conf->retry_read_aligned_list = bi->bi_next; remove_bio_from_retry() 4755 struct r5conf *conf; raid5_align_endio() local 4764 conf = mddev->private; raid5_align_endio() 4766 rdev_dec_pending(rdev, conf->mddev); raid5_align_endio() 4772 if (atomic_dec_and_test(&conf->active_aligned_reads)) raid5_align_endio() 4773 wake_up(&conf->wait_for_quiescent); raid5_align_endio() 4779 add_bio_to_retry(raid_bi, conf); raid5_align_endio() 4784 struct r5conf *conf = mddev->private; raid5_read_one_chunk() local 4810 raid5_compute_sector(conf, raid_bio->bi_iter.bi_sector, raid5_read_one_chunk() 4815 rdev = rcu_dereference(conf->disks[dd_idx].replacement); raid5_read_one_chunk() 4818 rdev = rcu_dereference(conf->disks[dd_idx].rdev); raid5_read_one_chunk() 4846 spin_lock_irq(&conf->device_lock); raid5_read_one_chunk() 4847 wait_event_lock_irq(conf->wait_for_quiescent, raid5_read_one_chunk() 4848 conf->quiesce == 0, raid5_read_one_chunk() 4849 conf->device_lock); raid5_read_one_chunk() 4850 atomic_inc(&conf->active_aligned_reads); raid5_read_one_chunk() 4851 spin_unlock_irq(&conf->device_lock); raid5_read_one_chunk() 4901 static struct stripe_head *__get_priority_stripe(struct r5conf *conf, int group) __get_priority_stripe() argument 4907 if (conf->worker_cnt_per_group == 0) { __get_priority_stripe() 4908 handle_list = &conf->handle_list; __get_priority_stripe() 4910 handle_list = &conf->worker_groups[group].handle_list; __get_priority_stripe() 4911 wg = &conf->worker_groups[group]; __get_priority_stripe() 4914 for (i = 0; i < conf->group_cnt; i++) { __get_priority_stripe() 4915 handle_list = &conf->worker_groups[i].handle_list; __get_priority_stripe() 4916 wg = &conf->worker_groups[i]; __get_priority_stripe() 4925 list_empty(&conf->hold_list) ? "empty" : "busy", __get_priority_stripe() 4926 atomic_read(&conf->pending_full_writes), conf->bypass_count); __get_priority_stripe() 4931 if (list_empty(&conf->hold_list)) __get_priority_stripe() 4932 conf->bypass_count = 0; __get_priority_stripe() 4934 if (conf->hold_list.next == conf->last_hold) __get_priority_stripe() 4935 conf->bypass_count++; __get_priority_stripe() 4937 conf->last_hold = conf->hold_list.next; __get_priority_stripe() 4938 conf->bypass_count -= conf->bypass_threshold; __get_priority_stripe() 4939 if (conf->bypass_count < 0) __get_priority_stripe() 4940 conf->bypass_count = 0; __get_priority_stripe() 4943 } else if (!list_empty(&conf->hold_list) && __get_priority_stripe() 4944 ((conf->bypass_threshold && __get_priority_stripe() 4945 conf->bypass_count > conf->bypass_threshold) || __get_priority_stripe() 4946 atomic_read(&conf->pending_full_writes) == 0)) { __get_priority_stripe() 4948 list_for_each_entry(tmp, &conf->hold_list, lru) { __get_priority_stripe() 4949 if (conf->worker_cnt_per_group == 0 || __get_priority_stripe() 4959 conf->bypass_count -= conf->bypass_threshold; __get_priority_stripe() 4960 if (conf->bypass_count < 0) __get_priority_stripe() 4961 conf->bypass_count = 0; __get_priority_stripe() 4990 struct r5conf *conf = mddev->private; raid5_unplug() local 4995 spin_lock_irq(&conf->device_lock); raid5_unplug() 5011 __release_stripe(conf, sh, &cb->temp_inactive_list[hash]); raid5_unplug() 5014 spin_unlock_irq(&conf->device_lock); raid5_unplug() 5016 release_inactive_stripe_list(conf, cb->temp_inactive_list, raid5_unplug() 5053 struct r5conf *conf = mddev->private; make_discard_request() local 5069 stripe_sectors = conf->chunk_sectors * make_discard_request() 5070 (conf->raid_disks - conf->max_degraded); make_discard_request() 5075 logical_sector *= conf->chunk_sectors; make_discard_request() 5076 last_sector *= conf->chunk_sectors; make_discard_request() 5083 sh = raid5_get_active_stripe(conf, logical_sector, 0, 0, 0); make_discard_request() 5084 prepare_to_wait(&conf->wait_for_overlap, &w, make_discard_request() 5094 for (d = 0; d < conf->raid_disks; d++) { make_discard_request() 5106 finish_wait(&conf->wait_for_overlap, &w); make_discard_request() 5108 for (d = 0; d < conf->raid_disks; d++) { make_discard_request() 5117 if (conf->mddev->bitmap) { make_discard_request() 5119 d < conf->raid_disks - conf->max_degraded; make_discard_request() 5125 sh->bm_seq = conf->seq_flush + 1; make_discard_request() 5132 atomic_inc(&conf->preread_active_stripes); make_discard_request() 5145 struct r5conf *conf = mddev->private; make_request() local 5156 int ret = r5l_handle_flush_request(conf->log, bi); make_request() 5191 prepare_to_wait(&conf->wait_for_overlap, &w, TASK_UNINTERRUPTIBLE); make_request() 5198 seq = read_seqcount_begin(&conf->gen_lock); make_request() 5201 prepare_to_wait(&conf->wait_for_overlap, &w, make_request() 5203 if (unlikely(conf->reshape_progress != MaxSector)) { make_request() 5212 spin_lock_irq(&conf->device_lock); make_request() 5214 ? logical_sector < conf->reshape_progress make_request() 5215 : logical_sector >= conf->reshape_progress) { make_request() 5219 ? logical_sector < conf->reshape_safe make_request() 5220 : logical_sector >= conf->reshape_safe) { make_request() 5221 spin_unlock_irq(&conf->device_lock); make_request() 5227 spin_unlock_irq(&conf->device_lock); make_request() 5230 new_sector = raid5_compute_sector(conf, logical_sector, make_request() 5237 sh = raid5_get_active_stripe(conf, new_sector, previous, make_request() 5250 spin_lock_irq(&conf->device_lock); make_request() 5252 ? logical_sector >= conf->reshape_progress make_request() 5253 : logical_sector < conf->reshape_progress) make_request() 5256 spin_unlock_irq(&conf->device_lock); make_request() 5264 if (read_seqcount_retry(&conf->gen_lock, seq)) { make_request() 5281 prepare_to_wait(&conf->wait_for_overlap, make_request() 5308 atomic_inc(&conf->preread_active_stripes); make_request() 5316 finish_wait(&conf->wait_for_overlap, &w); make_request() 5343 struct r5conf *conf = mddev->private; reshape_request() local 5346 int raid_disks = conf->previous_raid_disks; reshape_request() 5347 int data_disks = raid_disks - conf->max_degraded; reshape_request() 5348 int new_data_disks = conf->raid_disks - conf->max_degraded; reshape_request() 5360 conf->reshape_progress < raid5_size(mddev, 0, 0)) { reshape_request() 5362 - conf->reshape_progress; reshape_request() 5364 conf->reshape_progress == MaxSector) { reshape_request() 5368 conf->reshape_progress > 0) reshape_request() 5369 sector_nr = conf->reshape_progress; reshape_request() 5385 reshape_sectors = max(conf->chunk_sectors, conf->prev_chunk_sectors); reshape_request() 5393 writepos = conf->reshape_progress; reshape_request() 5395 readpos = conf->reshape_progress; reshape_request() 5397 safepos = conf->reshape_safe; reshape_request() 5418 BUG_ON(conf->reshape_progress == 0); reshape_request() 5449 if (conf->min_offset_diff < 0) { reshape_request() 5450 safepos += -conf->min_offset_diff; reshape_request() 5451 readpos += -conf->min_offset_diff; reshape_request() 5453 writepos += conf->min_offset_diff; reshape_request() 5458 time_after(jiffies, conf->reshape_checkpoint + 10*HZ)) { reshape_request() 5460 wait_event(conf->wait_for_overlap, reshape_request() 5461 atomic_read(&conf->reshape_stripes)==0 reshape_request() 5463 if (atomic_read(&conf->reshape_stripes) != 0) reshape_request() 5465 mddev->reshape_position = conf->reshape_progress; reshape_request() 5467 conf->reshape_checkpoint = jiffies; reshape_request() 5474 spin_lock_irq(&conf->device_lock); reshape_request() 5475 conf->reshape_safe = mddev->reshape_position; reshape_request() 5476 spin_unlock_irq(&conf->device_lock); reshape_request() 5477 wake_up(&conf->wait_for_overlap); reshape_request() 5485 sh = raid5_get_active_stripe(conf, stripe_addr+i, 0, 0, 1); reshape_request() 5487 atomic_inc(&conf->reshape_stripes); reshape_request() 5495 if (conf->level == 6 && reshape_request() 5513 spin_lock_irq(&conf->device_lock); reshape_request() 5515 conf->reshape_progress -= reshape_sectors * new_data_disks; reshape_request() 5517 conf->reshape_progress += reshape_sectors * new_data_disks; reshape_request() 5518 spin_unlock_irq(&conf->device_lock); reshape_request() 5525 raid5_compute_sector(conf, stripe_addr*(new_data_disks), reshape_request() 5528 raid5_compute_sector(conf, ((stripe_addr+reshape_sectors) reshape_request() 5534 sh = raid5_get_active_stripe(conf, first_sector, 1, 0, 1); reshape_request() 5558 wait_event(conf->wait_for_overlap, reshape_request() 5559 atomic_read(&conf->reshape_stripes) == 0 reshape_request() 5561 if (atomic_read(&conf->reshape_stripes) != 0) reshape_request() 5563 mddev->reshape_position = conf->reshape_progress; reshape_request() 5565 conf->reshape_checkpoint = jiffies; reshape_request() 5573 spin_lock_irq(&conf->device_lock); reshape_request() 5574 conf->reshape_safe = mddev->reshape_position; reshape_request() 5575 spin_unlock_irq(&conf->device_lock); reshape_request() 5576 wake_up(&conf->wait_for_overlap); reshape_request() 5585 struct r5conf *conf = mddev->private; sync_request() local 5596 end_reshape(conf); sync_request() 5604 conf->fullsync = 0; sync_request() 5611 wait_event(conf->wait_for_overlap, conf->quiesce != 2); sync_request() 5626 if (mddev->degraded >= conf->max_degraded && sync_request() 5633 !conf->fullsync && sync_request() 5644 sh = raid5_get_active_stripe(conf, sector_nr, 0, 1, 0); sync_request() 5646 sh = raid5_get_active_stripe(conf, sector_nr, 0, 0, 0); sync_request() 5657 for (i = 0; i < conf->raid_disks; i++) { sync_request() 5658 struct md_rdev *rdev = ACCESS_ONCE(conf->disks[i].rdev); sync_request() 5675 static int retry_aligned_read(struct r5conf *conf, struct bio *raid_bio) retry_aligned_read() argument 5696 sector = raid5_compute_sector(conf, logical_sector, retry_aligned_read() 5709 sh = raid5_get_active_stripe(conf, sector, 0, 1, 1); retry_aligned_read() 5714 conf->retry_read_aligned = raid_bio; retry_aligned_read() 5721 conf->retry_read_aligned = raid_bio; retry_aligned_read() 5736 if (atomic_dec_and_test(&conf->active_aligned_reads)) retry_aligned_read() 5737 wake_up(&conf->wait_for_quiescent); retry_aligned_read() 5741 static int handle_active_stripes(struct r5conf *conf, int group, handle_active_stripes() argument 5750 (sh = __get_priority_stripe(conf, group)) != NULL) handle_active_stripes() 5758 spin_unlock_irq(&conf->device_lock); handle_active_stripes() 5759 r5l_flush_stripe_to_raid(conf->log); handle_active_stripes() 5760 spin_lock_irq(&conf->device_lock); handle_active_stripes() 5765 spin_unlock_irq(&conf->device_lock); handle_active_stripes() 5767 release_inactive_stripe_list(conf, temp_inactive_list, handle_active_stripes() 5770 r5l_flush_stripe_to_raid(conf->log); handle_active_stripes() 5772 spin_lock_irq(&conf->device_lock); handle_active_stripes() 5778 r5l_write_stripe_run(conf->log); handle_active_stripes() 5782 spin_lock_irq(&conf->device_lock); handle_active_stripes() 5785 __release_stripe(conf, batch[i], &temp_inactive_list[hash]); handle_active_stripes() 5794 struct r5conf *conf = group->conf; raid5_do_work() local 5795 int group_id = group - conf->worker_groups; raid5_do_work() 5803 spin_lock_irq(&conf->device_lock); raid5_do_work() 5807 released = release_stripe_list(conf, worker->temp_inactive_list); raid5_do_work() 5809 batch_size = handle_active_stripes(conf, group_id, worker, raid5_do_work() 5818 spin_unlock_irq(&conf->device_lock); raid5_do_work() 5834 struct r5conf *conf = mddev->private; raid5d() local 5842 if (!bio_list_empty(&conf->return_bi) && raid5d() 5845 spin_lock_irq(&conf->device_lock); raid5d() 5847 bio_list_merge(&tmp, &conf->return_bi); raid5d() 5848 bio_list_init(&conf->return_bi); raid5d() 5850 spin_unlock_irq(&conf->device_lock); raid5d() 5856 spin_lock_irq(&conf->device_lock); raid5d() 5861 released = release_stripe_list(conf, conf->temp_inactive_list); raid5d() 5863 clear_bit(R5_DID_ALLOC, &conf->cache_state); raid5d() 5866 !list_empty(&conf->bitmap_list)) { raid5d() 5868 conf->seq_flush++; raid5d() 5869 spin_unlock_irq(&conf->device_lock); raid5d() 5871 spin_lock_irq(&conf->device_lock); raid5d() 5872 conf->seq_write = conf->seq_flush; raid5d() 5873 activate_bit_delay(conf, conf->temp_inactive_list); raid5d() 5875 raid5_activate_delayed(conf); raid5d() 5877 while ((bio = remove_bio_from_retry(conf))) { raid5d() 5879 spin_unlock_irq(&conf->device_lock); raid5d() 5880 ok = retry_aligned_read(conf, bio); raid5d() 5881 spin_lock_irq(&conf->device_lock); raid5d() 5887 batch_size = handle_active_stripes(conf, ANY_GROUP, NULL, raid5d() 5888 conf->temp_inactive_list); raid5d() 5894 spin_unlock_irq(&conf->device_lock); raid5d() 5896 spin_lock_irq(&conf->device_lock); raid5d() 5901 spin_unlock_irq(&conf->device_lock); raid5d() 5902 if (test_and_clear_bit(R5_ALLOC_MORE, &conf->cache_state) && raid5d() 5903 mutex_trylock(&conf->cache_size_mutex)) { raid5d() 5904 grow_one_stripe(conf, __GFP_NOWARN); raid5d() 5908 set_bit(R5_DID_ALLOC, &conf->cache_state); raid5d() 5909 mutex_unlock(&conf->cache_size_mutex); raid5d() 5912 r5l_flush_stripe_to_raid(conf->log); raid5d() 5923 struct r5conf *conf; raid5_show_stripe_cache_size() local 5926 conf = mddev->private; raid5_show_stripe_cache_size() 5927 if (conf) raid5_show_stripe_cache_size() 5928 ret = sprintf(page, "%d\n", conf->min_nr_stripes); raid5_show_stripe_cache_size() 5936 struct r5conf *conf = mddev->private; raid5_set_cache_size() local 5942 conf->min_nr_stripes = size; raid5_set_cache_size() 5943 mutex_lock(&conf->cache_size_mutex); raid5_set_cache_size() 5944 while (size < conf->max_nr_stripes && raid5_set_cache_size() 5945 drop_one_stripe(conf)) raid5_set_cache_size() 5947 mutex_unlock(&conf->cache_size_mutex); raid5_set_cache_size() 5954 mutex_lock(&conf->cache_size_mutex); raid5_set_cache_size() 5955 while (size > conf->max_nr_stripes) raid5_set_cache_size() 5956 if (!grow_one_stripe(conf, GFP_KERNEL)) raid5_set_cache_size() 5958 mutex_unlock(&conf->cache_size_mutex); raid5_set_cache_size() 5967 struct r5conf *conf; raid5_store_stripe_cache_size() local 5978 conf = mddev->private; raid5_store_stripe_cache_size() 5979 if (!conf) raid5_store_stripe_cache_size() 5996 struct r5conf *conf = mddev->private; raid5_show_rmw_level() local 5997 if (conf) raid5_show_rmw_level() 5998 return sprintf(page, "%d\n", conf->rmw_level); raid5_show_rmw_level() 6006 struct r5conf *conf = mddev->private; raid5_store_rmw_level() local 6009 if (!conf) raid5_store_rmw_level() 6026 conf->rmw_level = new; raid5_store_rmw_level() 6039 struct r5conf *conf; raid5_show_preread_threshold() local 6042 conf = mddev->private; raid5_show_preread_threshold() 6043 if (conf) raid5_show_preread_threshold() 6044 ret = sprintf(page, "%d\n", conf->bypass_threshold); raid5_show_preread_threshold() 6052 struct r5conf *conf; raid5_store_preread_threshold() local 6064 conf = mddev->private; raid5_store_preread_threshold() 6065 if (!conf) raid5_store_preread_threshold() 6067 else if (new > conf->min_nr_stripes) raid5_store_preread_threshold() 6070 conf->bypass_threshold = new; raid5_store_preread_threshold() 6084 struct r5conf *conf; raid5_show_skip_copy() local 6087 conf = mddev->private; raid5_show_skip_copy() 6088 if (conf) raid5_show_skip_copy() 6089 ret = sprintf(page, "%d\n", conf->skip_copy); raid5_show_skip_copy() 6097 struct r5conf *conf; raid5_store_skip_copy() local 6110 conf = mddev->private; raid5_store_skip_copy() 6111 if (!conf) raid5_store_skip_copy() 6113 else if (new != conf->skip_copy) { raid5_store_skip_copy() 6115 conf->skip_copy = new; raid5_store_skip_copy() 6136 struct r5conf *conf = mddev->private; stripe_cache_active_show() local 6137 if (conf) stripe_cache_active_show() 6138 return sprintf(page, "%d\n", atomic_read(&conf->active_stripes)); stripe_cache_active_show() 6149 struct r5conf *conf; raid5_show_group_thread_cnt() local 6152 conf = mddev->private; raid5_show_group_thread_cnt() 6153 if (conf) raid5_show_group_thread_cnt() 6154 ret = sprintf(page, "%d\n", conf->worker_cnt_per_group); raid5_show_group_thread_cnt() 6159 static int alloc_thread_groups(struct r5conf *conf, int cnt, 6166 struct r5conf *conf; raid5_store_group_thread_cnt() local 6180 conf = mddev->private; raid5_store_group_thread_cnt() 6181 if (!conf) raid5_store_group_thread_cnt() 6183 else if (new != conf->worker_cnt_per_group) { raid5_store_group_thread_cnt() 6186 old_groups = conf->worker_groups; raid5_store_group_thread_cnt() 6190 err = alloc_thread_groups(conf, new, raid5_store_group_thread_cnt() 6194 spin_lock_irq(&conf->device_lock); raid5_store_group_thread_cnt() 6195 conf->group_cnt = group_cnt; raid5_store_group_thread_cnt() 6196 conf->worker_cnt_per_group = worker_cnt_per_group; raid5_store_group_thread_cnt() 6197 conf->worker_groups = new_groups; raid5_store_group_thread_cnt() 6198 spin_unlock_irq(&conf->device_lock); raid5_store_group_thread_cnt() 6230 static int alloc_thread_groups(struct r5conf *conf, int cnt, alloc_thread_groups() argument 6261 group->conf = conf; alloc_thread_groups() 6277 static void free_thread_groups(struct r5conf *conf) free_thread_groups() argument 6279 if (conf->worker_groups) free_thread_groups() 6280 kfree(conf->worker_groups[0].workers); free_thread_groups() 6281 kfree(conf->worker_groups); free_thread_groups() 6282 conf->worker_groups = NULL; free_thread_groups() 6288 struct r5conf *conf = mddev->private; raid5_size() local 6294 raid_disks = min(conf->raid_disks, conf->previous_raid_disks); raid5_size() 6296 sectors &= ~((sector_t)conf->chunk_sectors - 1); raid5_size() 6297 sectors &= ~((sector_t)conf->prev_chunk_sectors - 1); raid5_size() 6298 return sectors * (raid_disks - conf->max_degraded); raid5_size() 6301 static void free_scratch_buffer(struct r5conf *conf, struct raid5_percpu *percpu) free_scratch_buffer() argument 6310 static int alloc_scratch_buffer(struct r5conf *conf, struct raid5_percpu *percpu) alloc_scratch_buffer() argument 6312 if (conf->level == 6 && !percpu->spare_page) alloc_scratch_buffer() 6315 percpu->scribble = scribble_alloc(max(conf->raid_disks, alloc_scratch_buffer() 6316 conf->previous_raid_disks), alloc_scratch_buffer() 6317 max(conf->chunk_sectors, alloc_scratch_buffer() 6318 conf->prev_chunk_sectors) alloc_scratch_buffer() 6322 if (!percpu->scribble || (conf->level == 6 && !percpu->spare_page)) { alloc_scratch_buffer() 6323 free_scratch_buffer(conf, percpu); alloc_scratch_buffer() 6330 static void raid5_free_percpu(struct r5conf *conf) raid5_free_percpu() argument 6334 if (!conf->percpu) raid5_free_percpu() 6338 unregister_cpu_notifier(&conf->cpu_notify); raid5_free_percpu() 6343 free_scratch_buffer(conf, per_cpu_ptr(conf->percpu, cpu)); raid5_free_percpu() 6346 free_percpu(conf->percpu); raid5_free_percpu() 6349 static void free_conf(struct r5conf *conf) free_conf() argument 6351 if (conf->log) free_conf() 6352 r5l_exit_log(conf->log); free_conf() 6353 if (conf->shrinker.seeks) free_conf() 6354 unregister_shrinker(&conf->shrinker); free_conf() 6356 free_thread_groups(conf); free_conf() 6357 shrink_stripes(conf); free_conf() 6358 raid5_free_percpu(conf); free_conf() 6359 kfree(conf->disks); free_conf() 6360 kfree(conf->stripe_hashtbl); free_conf() 6361 kfree(conf); free_conf() 6368 struct r5conf *conf = container_of(nfb, struct r5conf, cpu_notify); raid456_cpu_notify() local 6370 struct raid5_percpu *percpu = per_cpu_ptr(conf->percpu, cpu); raid456_cpu_notify() 6375 if (alloc_scratch_buffer(conf, percpu)) { raid456_cpu_notify() 6383 free_scratch_buffer(conf, per_cpu_ptr(conf->percpu, cpu)); raid456_cpu_notify() 6392 static int raid5_alloc_percpu(struct r5conf *conf) raid5_alloc_percpu() argument 6397 conf->percpu = alloc_percpu(struct raid5_percpu); raid5_alloc_percpu() 6398 if (!conf->percpu) raid5_alloc_percpu() 6402 conf->cpu_notify.notifier_call = raid456_cpu_notify; raid5_alloc_percpu() 6403 conf->cpu_notify.priority = 0; raid5_alloc_percpu() 6404 err = register_cpu_notifier(&conf->cpu_notify); raid5_alloc_percpu() 6411 err = alloc_scratch_buffer(conf, per_cpu_ptr(conf->percpu, cpu)); for_each_present_cpu() 6421 conf->scribble_disks = max(conf->raid_disks, 6422 conf->previous_raid_disks); 6423 conf->scribble_sectors = max(conf->chunk_sectors, 6424 conf->prev_chunk_sectors); 6432 struct r5conf *conf = container_of(shrink, struct r5conf, shrinker); raid5_cache_scan() local 6435 if (mutex_trylock(&conf->cache_size_mutex)) { raid5_cache_scan() 6438 conf->max_nr_stripes > conf->min_nr_stripes) { raid5_cache_scan() 6439 if (drop_one_stripe(conf) == 0) { raid5_cache_scan() 6445 mutex_unlock(&conf->cache_size_mutex); raid5_cache_scan() 6453 struct r5conf *conf = container_of(shrink, struct r5conf, shrinker); raid5_cache_count() local 6455 if (conf->max_nr_stripes < conf->min_nr_stripes) raid5_cache_count() 6458 return conf->max_nr_stripes - conf->min_nr_stripes; raid5_cache_count() 6463 struct r5conf *conf; setup_conf() local 6501 conf = kzalloc(sizeof(struct r5conf), GFP_KERNEL); setup_conf() 6502 if (conf == NULL) setup_conf() 6505 if (!alloc_thread_groups(conf, 0, &group_cnt, &worker_cnt_per_group, setup_conf() 6507 conf->group_cnt = group_cnt; setup_conf() 6508 conf->worker_cnt_per_group = worker_cnt_per_group; setup_conf() 6509 conf->worker_groups = new_group; setup_conf() 6512 spin_lock_init(&conf->device_lock); setup_conf() 6513 seqcount_init(&conf->gen_lock); setup_conf() 6514 mutex_init(&conf->cache_size_mutex); setup_conf() 6515 init_waitqueue_head(&conf->wait_for_quiescent); setup_conf() 6516 init_waitqueue_head(&conf->wait_for_stripe); setup_conf() 6517 init_waitqueue_head(&conf->wait_for_overlap); setup_conf() 6518 INIT_LIST_HEAD(&conf->handle_list); setup_conf() 6519 INIT_LIST_HEAD(&conf->hold_list); setup_conf() 6520 INIT_LIST_HEAD(&conf->delayed_list); setup_conf() 6521 INIT_LIST_HEAD(&conf->bitmap_list); setup_conf() 6522 bio_list_init(&conf->return_bi); setup_conf() 6523 init_llist_head(&conf->released_stripes); setup_conf() 6524 atomic_set(&conf->active_stripes, 0); setup_conf() 6525 atomic_set(&conf->preread_active_stripes, 0); setup_conf() 6526 atomic_set(&conf->active_aligned_reads, 0); setup_conf() 6527 conf->bypass_threshold = BYPASS_THRESHOLD; setup_conf() 6528 conf->recovery_disabled = mddev->recovery_disabled - 1; setup_conf() 6530 conf->raid_disks = mddev->raid_disks; setup_conf() 6532 conf->previous_raid_disks = mddev->raid_disks; setup_conf() 6534 conf->previous_raid_disks = mddev->raid_disks - mddev->delta_disks; setup_conf() 6535 max_disks = max(conf->raid_disks, conf->previous_raid_disks); setup_conf() 6537 conf->disks = kzalloc(max_disks * sizeof(struct disk_info), setup_conf() 6539 if (!conf->disks) setup_conf() 6542 conf->mddev = mddev; setup_conf() 6544 if ((conf->stripe_hashtbl = kzalloc(PAGE_SIZE, GFP_KERNEL)) == NULL) setup_conf() 6552 spin_lock_init(conf->hash_locks); setup_conf() 6554 spin_lock_init(conf->hash_locks + i); setup_conf() 6557 INIT_LIST_HEAD(conf->inactive_list + i); setup_conf() 6560 INIT_LIST_HEAD(conf->temp_inactive_list + i); setup_conf() 6562 conf->level = mddev->new_level; setup_conf() 6563 conf->chunk_sectors = mddev->new_chunk_sectors; setup_conf() 6564 if (raid5_alloc_percpu(conf) != 0) setup_conf() 6574 disk = conf->disks + raid_disk; rdev_for_each() 6593 conf->fullsync = 1; rdev_for_each() 6596 conf->level = mddev->new_level; 6597 if (conf->level == 6) { 6598 conf->max_degraded = 2; 6600 conf->rmw_level = PARITY_ENABLE_RMW; 6602 conf->rmw_level = PARITY_DISABLE_RMW; 6604 conf->max_degraded = 1; 6605 conf->rmw_level = PARITY_ENABLE_RMW; 6607 conf->algorithm = mddev->new_layout; 6608 conf->reshape_progress = mddev->reshape_position; 6609 if (conf->reshape_progress != MaxSector) { 6610 conf->prev_chunk_sectors = mddev->chunk_sectors; 6611 conf->prev_algo = mddev->layout; 6613 conf->prev_chunk_sectors = conf->chunk_sectors; 6614 conf->prev_algo = conf->algorithm; 6617 conf->min_nr_stripes = NR_STRIPES; 6618 memory = conf->min_nr_stripes * (sizeof(struct stripe_head) + 6620 atomic_set(&conf->empty_inactive_list_nr, NR_STRIPE_HASH_LOCKS); 6621 if (grow_stripes(conf, conf->min_nr_stripes)) { 6634 conf->shrinker.seeks = DEFAULT_SEEKS * conf->raid_disks * 4; 6635 conf->shrinker.scan_objects = raid5_cache_scan; 6636 conf->shrinker.count_objects = raid5_cache_count; 6637 conf->shrinker.batch = 128; 6638 conf->shrinker.flags = 0; 6639 register_shrinker(&conf->shrinker); 6642 conf->thread = md_register_thread(raid5d, mddev, pers_name); 6643 if (!conf->thread) { 6650 return conf; 6653 if (conf) { 6654 free_conf(conf); 6688 struct r5conf *conf; run() local 6817 conf = setup_conf(mddev); 6819 conf = mddev->private; 6821 if (IS_ERR(conf)) 6822 return PTR_ERR(conf); 6831 conf->min_offset_diff = min_offset_diff; 6832 mddev->thread = conf->thread; 6833 conf->thread = NULL; 6834 mddev->private = conf; 6836 for (i = 0; i < conf->raid_disks && conf->previous_raid_disks; 6838 rdev = conf->disks[i].rdev; 6839 if (!rdev && conf->disks[i].replacement) { 6841 rdev = conf->disks[i].replacement; 6842 conf->disks[i].replacement = NULL; 6844 conf->disks[i].rdev = rdev; 6848 if (conf->disks[i].replacement && 6849 conf->reshape_progress != MaxSector) { 6875 conf->algorithm, 6876 conf->raid_disks, 6877 conf->max_degraded)) 6881 conf->prev_algo, 6882 conf->previous_raid_disks, 6883 conf->max_degraded)) 6891 mddev->degraded = calc_degraded(conf); 6893 if (has_failed(conf)) { 6896 mdname(mddev), mddev->degraded, conf->raid_disks); 6921 " devices, algorithm %d\n", mdname(mddev), conf->level, 6927 mdname(mddev), conf->level, 6931 print_raid5_conf(conf); 6933 if (conf->reshape_progress != MaxSector) { 6934 conf->reshape_safe = conf->reshape_progress; 6935 atomic_set(&conf->reshape_stripes, 0); 6961 int data_disks = conf->previous_raid_disks - conf->max_degraded; 6970 (conf->raid_disks - conf->max_degraded)); 7039 r5l_init_log(conf, journal_dev); 7045 print_raid5_conf(conf); 7046 free_conf(conf); 7054 struct r5conf *conf = priv; raid5_free() local 7056 free_conf(conf); raid5_free() 7062 struct r5conf *conf = mddev->private; status() local 7066 conf->chunk_sectors / 2, mddev->layout); status() 7067 seq_printf (seq, " [%d/%d] [", conf->raid_disks, conf->raid_disks - mddev->degraded); status() 7068 for (i = 0; i < conf->raid_disks; i++) status() 7070 conf->disks[i].rdev && status() 7071 test_bit(In_sync, &conf->disks[i].rdev->flags) ? "U" : "_"); status() 7075 static void print_raid5_conf (struct r5conf *conf) print_raid5_conf() argument 7080 printk(KERN_DEBUG "RAID conf printout:\n"); print_raid5_conf() 7081 if (!conf) { print_raid5_conf() 7082 printk("(conf==NULL)\n"); print_raid5_conf() 7085 printk(KERN_DEBUG " --- level:%d rd:%d wd:%d\n", conf->level, print_raid5_conf() 7086 conf->raid_disks, print_raid5_conf() 7087 conf->raid_disks - conf->mddev->degraded); print_raid5_conf() 7089 for (i = 0; i < conf->raid_disks; i++) { print_raid5_conf() 7091 tmp = conf->disks + i; print_raid5_conf() 7102 struct r5conf *conf = mddev->private; raid5_spare_active() local 7107 for (i = 0; i < conf->raid_disks; i++) { raid5_spare_active() 7108 tmp = conf->disks + i; raid5_spare_active() 7135 spin_lock_irqsave(&conf->device_lock, flags); raid5_spare_active() 7136 mddev->degraded = calc_degraded(conf); raid5_spare_active() 7137 spin_unlock_irqrestore(&conf->device_lock, flags); raid5_spare_active() 7138 print_raid5_conf(conf); raid5_spare_active() 7144 struct r5conf *conf = mddev->private; raid5_remove_disk() local 7148 struct disk_info *p = conf->disks + number; raid5_remove_disk() 7150 print_raid5_conf(conf); raid5_remove_disk() 7167 if (number >= conf->raid_disks && raid5_remove_disk() 7168 conf->reshape_progress == MaxSector) raid5_remove_disk() 7180 mddev->recovery_disabled != conf->recovery_disabled && raid5_remove_disk() 7181 !has_failed(conf) && raid5_remove_disk() 7183 number < conf->raid_disks) { raid5_remove_disk() 7209 print_raid5_conf(conf); raid5_remove_disk() 7215 struct r5conf *conf = mddev->private; raid5_add_disk() local 7220 int last = conf->raid_disks - 1; raid5_add_disk() 7224 if (mddev->recovery_disabled == conf->recovery_disabled) raid5_add_disk() 7227 if (rdev->saved_raid_disk < 0 && has_failed(conf)) raid5_add_disk() 7240 conf->disks[rdev->saved_raid_disk].rdev == NULL) raid5_add_disk() 7244 p = conf->disks + disk; raid5_add_disk() 7250 conf->fullsync = 1; raid5_add_disk() 7256 p = conf->disks + disk; raid5_add_disk() 7263 conf->fullsync = 1; raid5_add_disk() 7269 print_raid5_conf(conf); raid5_add_disk() 7283 struct r5conf *conf = mddev->private; raid5_resize() local 7285 if (conf->log) raid5_resize() 7287 sectors &= ~((sector_t)conf->chunk_sectors - 1); raid5_resize() 7320 struct r5conf *conf = mddev->private; check_stripe_cache() local 7322 > conf->min_nr_stripes || check_stripe_cache() 7324 > conf->min_nr_stripes) { check_stripe_cache() 7336 struct r5conf *conf = mddev->private; check_reshape() local 7338 if (conf->log) check_reshape() 7344 if (has_failed(conf)) check_reshape() 7364 if (resize_chunks(conf, check_reshape() 7365 conf->previous_raid_disks check_reshape() 7371 return resize_stripes(conf, (conf->previous_raid_disks check_reshape() 7377 struct r5conf *conf = mddev->private; raid5_start_reshape() local 7388 if (has_failed(conf)) raid5_start_reshape() 7397 if (spares - mddev->degraded < mddev->delta_disks - conf->max_degraded) 7407 if (raid5_size(mddev, 0, conf->raid_disks + mddev->delta_disks) 7414 atomic_set(&conf->reshape_stripes, 0); 7415 spin_lock_irq(&conf->device_lock); 7416 write_seqcount_begin(&conf->gen_lock); 7417 conf->previous_raid_disks = conf->raid_disks; 7418 conf->raid_disks += mddev->delta_disks; 7419 conf->prev_chunk_sectors = conf->chunk_sectors; 7420 conf->chunk_sectors = mddev->new_chunk_sectors; 7421 conf->prev_algo = conf->algorithm; 7422 conf->algorithm = mddev->new_layout; 7423 conf->generation++; 7429 conf->reshape_progress = raid5_size(mddev, 0, 0); 7431 conf->reshape_progress = 0; 7432 conf->reshape_safe = conf->reshape_progress; 7433 write_seqcount_end(&conf->gen_lock); 7434 spin_unlock_irq(&conf->device_lock); 7456 >= conf->previous_raid_disks) rdev_for_each() 7464 } else if (rdev->raid_disk >= conf->previous_raid_disks 7474 spin_lock_irqsave(&conf->device_lock, flags); 7475 mddev->degraded = calc_degraded(conf); 7476 spin_unlock_irqrestore(&conf->device_lock, flags); 7478 mddev->raid_disks = conf->raid_disks; 7479 mddev->reshape_position = conf->reshape_progress; 7491 spin_lock_irq(&conf->device_lock); 7492 write_seqcount_begin(&conf->gen_lock); 7493 mddev->raid_disks = conf->raid_disks = conf->previous_raid_disks; 7495 conf->chunk_sectors = conf->prev_chunk_sectors; 7496 mddev->new_layout = conf->algorithm = conf->prev_algo; 7500 conf->generation --; 7501 conf->reshape_progress = MaxSector; 7503 write_seqcount_end(&conf->gen_lock); 7504 spin_unlock_irq(&conf->device_lock); 7507 conf->reshape_checkpoint = jiffies; 7514 * changes needed in 'conf' 7516 static void end_reshape(struct r5conf *conf) end_reshape() argument 7519 if (!test_bit(MD_RECOVERY_INTR, &conf->mddev->recovery)) { end_reshape() 7522 spin_lock_irq(&conf->device_lock); end_reshape() 7523 conf->previous_raid_disks = conf->raid_disks; end_reshape() 7524 rdev_for_each(rdev, conf->mddev) end_reshape() 7527 conf->reshape_progress = MaxSector; end_reshape() 7528 conf->mddev->reshape_position = MaxSector; end_reshape() 7529 spin_unlock_irq(&conf->device_lock); end_reshape() 7530 wake_up(&conf->wait_for_overlap); end_reshape() 7535 if (conf->mddev->queue) { end_reshape() 7536 int data_disks = conf->raid_disks - conf->max_degraded; end_reshape() 7537 int stripe = data_disks * ((conf->chunk_sectors << 9) end_reshape() 7539 if (conf->mddev->queue->backing_dev_info.ra_pages < 2 * stripe) end_reshape() 7540 conf->mddev->queue->backing_dev_info.ra_pages = 2 * stripe; end_reshape() 7550 struct r5conf *conf = mddev->private; raid5_finish_reshape() local 7560 spin_lock_irq(&conf->device_lock); raid5_finish_reshape() 7561 mddev->degraded = calc_degraded(conf); raid5_finish_reshape() 7562 spin_unlock_irq(&conf->device_lock); raid5_finish_reshape() 7563 for (d = conf->raid_disks ; raid5_finish_reshape() 7564 d < conf->raid_disks - mddev->delta_disks; raid5_finish_reshape() 7566 struct md_rdev *rdev = conf->disks[d].rdev; raid5_finish_reshape() 7569 rdev = conf->disks[d].replacement; raid5_finish_reshape() 7574 mddev->layout = conf->algorithm; raid5_finish_reshape() 7575 mddev->chunk_sectors = conf->chunk_sectors; raid5_finish_reshape() 7584 struct r5conf *conf = mddev->private; raid5_quiesce() local 7588 wake_up(&conf->wait_for_overlap); raid5_quiesce() 7592 lock_all_device_hash_locks_irq(conf); raid5_quiesce() 7596 conf->quiesce = 2; raid5_quiesce() 7597 wait_event_cmd(conf->wait_for_quiescent, raid5_quiesce() 7598 atomic_read(&conf->active_stripes) == 0 && raid5_quiesce() 7599 atomic_read(&conf->active_aligned_reads) == 0, raid5_quiesce() 7600 unlock_all_device_hash_locks_irq(conf), raid5_quiesce() 7601 lock_all_device_hash_locks_irq(conf)); raid5_quiesce() 7602 conf->quiesce = 1; raid5_quiesce() 7603 unlock_all_device_hash_locks_irq(conf); raid5_quiesce() 7605 wake_up(&conf->wait_for_overlap); raid5_quiesce() 7609 lock_all_device_hash_locks_irq(conf); raid5_quiesce() 7610 conf->quiesce = 0; raid5_quiesce() 7611 wake_up(&conf->wait_for_quiescent); raid5_quiesce() 7612 wake_up(&conf->wait_for_overlap); raid5_quiesce() 7613 unlock_all_device_hash_locks_irq(conf); raid5_quiesce() 7616 r5l_quiesce(conf->log, state); raid5_quiesce() 7712 struct r5conf *conf = mddev->private; raid5_check_reshape() local 7732 conf->algorithm = mddev->new_layout; raid5_check_reshape() 7736 conf->chunk_sectors = new_chunk ; raid5_check_reshape()
|
H A D | linear.c | 33 struct linear_conf *conf; which_dev() local 37 conf = mddev->private; which_dev() 46 if (sector < conf->disks[mid].end_sector) which_dev() 52 return conf->disks + lo; which_dev() 57 struct linear_conf *conf; linear_congested() local 60 conf = mddev->private; linear_congested() 63 struct request_queue *q = bdev_get_queue(conf->disks[i].rdev->bdev); linear_congested() 72 struct linear_conf *conf; linear_size() local 75 conf = mddev->private; linear_size() 78 array_sectors = conf->array_sectors; linear_size() 85 struct linear_conf *conf; linear_conf() local 90 conf = kzalloc (sizeof (*conf) + raid_disks*sizeof(struct dev_info), linear_conf() 92 if (!conf) linear_conf() 96 conf->array_sectors = 0; linear_conf() 100 struct dev_info *disk = conf->disks + j; rdev_for_each() 119 conf->array_sectors += rdev->sectors; rdev_for_each() 139 conf->disks[0].end_sector = conf->disks[0].rdev->sectors; 142 conf->disks[i].end_sector = 143 conf->disks[i-1].end_sector + 144 conf->disks[i].rdev->sectors; 146 return conf; 149 kfree(conf); 155 struct linear_conf *conf; linear_run() local 160 conf = linear_conf(mddev, mddev->raid_disks); linear_run() 162 if (!conf) linear_run() 164 mddev->private = conf; linear_run() 169 kfree(conf); linear_run() 212 struct linear_conf *conf = priv; linear_free() local 214 kfree(conf); linear_free()
|
H A D | raid0.c | 30 struct r0conf *conf = mddev->private; raid0_congested() local 31 struct md_rdev **devlist = conf->devlist; raid0_congested() 32 int raid_disks = conf->strip_zone[0].nb_dev; raid0_congested() 52 struct r0conf *conf = mddev->private; dump_zones() local 53 int raid_disks = conf->strip_zone[0].nb_dev; dump_zones() 56 conf->nr_strip_zones, conf->nr_strip_zones==1?"":"s"); dump_zones() 57 for (j = 0; j < conf->nr_strip_zones; j++) { dump_zones() 59 for (k = 0; k < conf->strip_zone[j].nb_dev; k++) dump_zones() 61 bdevname(conf->devlist[j*raid_disks dump_zones() 65 zone_size = conf->strip_zone[j].zone_end - zone_start; dump_zones() 69 (unsigned long long)conf->strip_zone[j].dev_start>>1, dump_zones() 71 zone_start = conf->strip_zone[j].zone_end; dump_zones() 85 struct r0conf *conf = kzalloc(sizeof(*conf), GFP_KERNEL); create_strip_zones() local 88 if (!conf) create_strip_zones() 133 conf->nr_strip_zones++; 135 mdname(mddev), conf->nr_strip_zones); 139 mdname(mddev), conf->nr_strip_zones); 153 conf->strip_zone = kzalloc(sizeof(struct strip_zone)* 154 conf->nr_strip_zones, GFP_KERNEL); 155 if (!conf->strip_zone) 157 conf->devlist = kzalloc(sizeof(struct md_rdev*)* 158 conf->nr_strip_zones*mddev->raid_disks, 160 if (!conf->devlist) 166 zone = &conf->strip_zone[0]; 169 dev = conf->devlist; 221 for (i = 1; i < conf->nr_strip_zones; i++) 225 zone = conf->strip_zone + i; 226 dev = conf->devlist + i * mddev->raid_disks; 234 rdev = conf->devlist[j]; 270 *private_conf = conf; 274 kfree(conf->strip_zone); 275 kfree(conf->devlist); 276 kfree(conf); 284 static struct strip_zone *find_zone(struct r0conf *conf, find_zone() argument 288 struct strip_zone *z = conf->strip_zone; find_zone() 291 for (i = 0; i < conf->nr_strip_zones; i++) find_zone() 309 struct r0conf *conf = mddev->private; map_sector() local 310 int raid_disks = conf->strip_zone[0].nb_dev; map_sector() 333 return conf->devlist[(zone - conf->strip_zone)*raid_disks map_sector() 356 struct r0conf *conf; raid0_run() local 369 ret = create_strip_zones(mddev, &conf); raid0_run() 372 mddev->private = conf; raid0_run() 374 conf = mddev->private; raid0_run() 431 struct r0conf *conf = priv; raid0_free() local 433 kfree(conf->strip_zone); raid0_free() 434 kfree(conf->devlist); raid0_free() 435 kfree(conf); raid0_free()
|
H A D | raid5-cache.c | 762 struct r5conf *conf = mddev->private; r5l_reclaim_thread() local 763 struct r5l_log *log = conf->log; r5l_reclaim_thread() 807 bool r5l_log_disk_error(struct r5conf *conf) r5l_log_disk_error() argument 810 if (!conf->log) r5l_log_disk_error() 811 return test_bit(MD_HAS_JOURNAL, &conf->mddev->flags); r5l_log_disk_error() 812 return test_bit(Faulty, &conf->log->rdev->flags); r5l_log_disk_error() 859 struct r5conf *conf = log->rdev->mddev->private; r5l_recovery_flush_one_stripe() local 864 sh = raid5_get_active_stripe(conf, stripe_sect, 0, 0, 0); r5l_recovery_flush_one_stripe() 869 raid5_compute_sector(conf, r5l_recovery_flush_one_stripe() 898 ctx->meta_total_blocks += BLOCK_SECTORS * conf->max_degraded; r5l_recovery_flush_one_stripe() 931 rdev = rcu_dereference(conf->disks[disk_index].rdev); r5l_recovery_flush_one_stripe() 935 rrdev = rcu_dereference(conf->disks[disk_index].replacement); r5l_recovery_flush_one_stripe() 953 struct r5conf *conf = log->rdev->mddev->private; r5l_recovery_flush_one_meta() local 968 stripe_sector = raid5_compute_sector(conf, r5l_recovery_flush_one_meta() 1134 int r5l_init_log(struct r5conf *conf, struct md_rdev *rdev) r5l_init_log() argument 1175 conf->log = log; r5l_init_log()
|
/linux-4.4.14/net/sched/ |
H A D | em_text.c | 51 struct tcf_em_text *conf = data; em_text_change() local 55 if (len < sizeof(*conf) || len < (sizeof(*conf) + conf->pattern_len)) em_text_change() 58 if (conf->from_layer > conf->to_layer) em_text_change() 61 if (conf->from_layer == conf->to_layer && em_text_change() 62 conf->from_offset > conf->to_offset) em_text_change() 66 ts_conf = textsearch_prepare(conf->algo, (u8 *) conf + sizeof(*conf), em_text_change() 67 conf->pattern_len, GFP_KERNEL, flags); em_text_change() 90 tm->from_offset = conf->from_offset; em_text_change() 91 tm->to_offset = conf->to_offset; em_text_change() 92 tm->from_layer = conf->from_layer; em_text_change() 93 tm->to_layer = conf->to_layer; em_text_change() 111 struct tcf_em_text conf; em_text_dump() local 113 strncpy(conf.algo, tm->config->ops->name, sizeof(conf.algo) - 1); em_text_dump() 114 conf.from_offset = tm->from_offset; em_text_dump() 115 conf.to_offset = tm->to_offset; em_text_dump() 116 conf.from_layer = tm->from_layer; em_text_dump() 117 conf.to_layer = tm->to_layer; em_text_dump() 118 conf.pattern_len = textsearch_get_pattern_len(tm->config); em_text_dump() 119 conf.pad = 0; em_text_dump() 121 if (nla_put_nohdr(skb, sizeof(conf), &conf) < 0) em_text_dump() 123 if (nla_append(skb, conf.pattern_len, em_text_dump()
|
H A D | em_canid.c | 126 struct can_filter *conf = data; /* Array with rules */ em_canid_change() local 157 if (conf[i].can_id & CAN_EFF_FLAG) { em_canid_change() 159 &conf[i], em_canid_change() 168 if (!(conf[i].can_id & CAN_EFF_FLAG)) { em_canid_change() 172 &conf[i], sizeof(struct can_filter)); em_canid_change() 177 conf[i].can_id, conf[i].can_mask); em_canid_change()
|
/linux-4.4.14/security/tomoyo/ |
H A D | Makefile | 6 $(objtree)/scripts/basic/bin2c <$(firstword $(wildcard $(obj)/policy/$(1).conf $(srctree)/$(src)/policy/$(1).conf.default) /dev/null); \ 12 $(obj)/builtin-policy.h: $(wildcard $(obj)/policy/*.conf $(src)/policy/*.conf.default) FORCE
|
/linux-4.4.14/net/netfilter/ |
H A D | xt_string.c | 28 const struct xt_string_info *conf = par->matchinfo; string_mt() local 31 invert = conf->u.v1.flags & XT_STRING_FLAG_INVERT; string_mt() 33 return (skb_find_text((struct sk_buff *)skb, conf->from_offset, string_mt() 34 conf->to_offset, conf->config) string_mt() 42 struct xt_string_info *conf = par->matchinfo; string_mt_check() local 47 if (conf->from_offset > conf->to_offset) string_mt_check() 49 if (conf->algo[XT_STRING_MAX_ALGO_NAME_SIZE - 1] != '\0') string_mt_check() 51 if (conf->patlen > XT_STRING_MAX_PATTERN_SIZE) string_mt_check() 53 if (conf->u.v1.flags & string_mt_check() 56 if (conf->u.v1.flags & XT_STRING_FLAG_IGNORECASE) string_mt_check() 58 ts_conf = textsearch_prepare(conf->algo, conf->pattern, conf->patlen, string_mt_check() 63 conf->config = ts_conf; string_mt_check()
|
/linux-4.4.14/include/linux/ |
H A D | textsearch.h | 67 * @conf: search configuration 77 struct ts_config *conf, 82 * @conf: search configuration 88 void (*finish)(struct ts_config *conf, 94 * @conf: search configuration 104 static inline unsigned int textsearch_next(struct ts_config *conf, textsearch_next() argument 107 unsigned int ret = conf->ops->find(conf, state); textsearch_next() 109 if (conf->finish) textsearch_next() 110 conf->finish(conf, state); textsearch_next() 117 * @conf: search configuration 123 static inline unsigned int textsearch_find(struct ts_config *conf, textsearch_find() argument 127 return textsearch_next(conf, state); textsearch_find() 132 * @conf: search configuration 134 static inline void *textsearch_get_pattern(struct ts_config *conf) textsearch_get_pattern() argument 136 return conf->ops->get_pattern(conf); textsearch_get_pattern() 141 * @conf: search configuration 143 static inline unsigned int textsearch_get_pattern_len(struct ts_config *conf) textsearch_get_pattern_len() argument 145 return conf->ops->get_pattern_len(conf); textsearch_get_pattern_len() 152 extern void textsearch_destroy(struct ts_config *conf); 164 struct ts_config *conf; alloc_ts_config() local 166 conf = kzalloc(TS_PRIV_ALIGN(sizeof(*conf)) + payload, gfp_mask); alloc_ts_config() 167 if (conf == NULL) alloc_ts_config() 170 return conf; alloc_ts_config() 173 static inline void *ts_config_priv(struct ts_config *conf) ts_config_priv() argument 175 return ((u8 *) conf + TS_PRIV_ALIGN(sizeof(struct ts_config))); ts_config_priv()
|
/linux-4.4.14/drivers/net/wireless/ath/ath9k/ |
H A D | common-beacon.c | 56 struct ath_beacon_config *conf, ath9k_cmn_beacon_config_sta() 71 conf->intval = conf->beacon_interval; ath9k_cmn_beacon_config_sta() 77 dtim_intval = conf->intval * conf->dtim_period; ath9k_cmn_beacon_config_sta() 84 conf->nexttbtt = ath9k_get_next_tbtt(ah, tsf, conf->intval); ath9k_cmn_beacon_config_sta() 86 bs->bs_intval = TU_TO_USEC(conf->intval); ath9k_cmn_beacon_config_sta() 87 bs->bs_dtimperiod = conf->dtim_period * bs->bs_intval; ath9k_cmn_beacon_config_sta() 88 bs->bs_nexttbtt = conf->nexttbtt; ath9k_cmn_beacon_config_sta() 89 bs->bs_nextdtim = conf->nexttbtt; ath9k_cmn_beacon_config_sta() 90 if (conf->dtim_period > 1) ath9k_cmn_beacon_config_sta() 99 bs->bs_bmissthreshold = DIV_ROUND_UP(conf->bmiss_timeout, conf->intval); ath9k_cmn_beacon_config_sta() 115 conf->intval)); ath9k_cmn_beacon_config_sta() 129 struct ath_beacon_config *conf) ath9k_cmn_beacon_config_adhoc() 133 conf->intval = TU_TO_USEC(conf->beacon_interval); ath9k_cmn_beacon_config_adhoc() 135 if (conf->ibss_creator) ath9k_cmn_beacon_config_adhoc() 136 conf->nexttbtt = conf->intval; ath9k_cmn_beacon_config_adhoc() 138 conf->nexttbtt = ath9k_get_next_tbtt(ah, ath9k_hw_gettsf64(ah), ath9k_cmn_beacon_config_adhoc() 139 conf->beacon_interval); ath9k_cmn_beacon_config_adhoc() 141 if (conf->enable_beacon) ath9k_cmn_beacon_config_adhoc() 148 (conf->enable_beacon) ? "Enable" : "Disable", ath9k_cmn_beacon_config_adhoc() 149 conf->nexttbtt, conf->intval, conf->beacon_interval); ath9k_cmn_beacon_config_adhoc() 159 struct ath_beacon_config *conf, ath9k_cmn_beacon_config_ap() 165 conf->intval = TU_TO_USEC(conf->beacon_interval); ath9k_cmn_beacon_config_ap() 166 conf->intval /= bc_buf; ath9k_cmn_beacon_config_ap() 167 conf->nexttbtt = ath9k_get_next_tbtt(ah, ath9k_hw_gettsf64(ah), ath9k_cmn_beacon_config_ap() 168 conf->beacon_interval); ath9k_cmn_beacon_config_ap() 170 if (conf->enable_beacon) ath9k_cmn_beacon_config_ap() 177 (conf->enable_beacon) ? "Enable" : "Disable", ath9k_cmn_beacon_config_ap() 178 conf->nexttbtt, conf->intval, conf->beacon_interval); ath9k_cmn_beacon_config_ap() 55 ath9k_cmn_beacon_config_sta(struct ath_hw *ah, struct ath_beacon_config *conf, struct ath9k_beacon_state *bs) ath9k_cmn_beacon_config_sta() argument 128 ath9k_cmn_beacon_config_adhoc(struct ath_hw *ah, struct ath_beacon_config *conf) ath9k_cmn_beacon_config_adhoc() argument 158 ath9k_cmn_beacon_config_ap(struct ath_hw *ah, struct ath_beacon_config *conf, unsigned int bc_buf) ath9k_cmn_beacon_config_ap() argument
|
H A D | antenna.c | 90 static inline bool ath_ant_div_comb_alt_check(struct ath_hw_antcomb_conf *conf, ath_ant_div_comb_alt_check() argument 99 if (conf->main_lna_conf == ATH_ANT_DIV_COMB_LNA2 && ath_ant_div_comb_alt_check() 100 conf->alt_lna_conf == ATH_ANT_DIV_COMB_LNA1) ath_ant_div_comb_alt_check() 103 if (conf->main_lna_conf == ATH_ANT_DIV_COMB_LNA1 && ath_ant_div_comb_alt_check() 104 conf->alt_lna_conf == ATH_ANT_DIV_COMB_LNA2) ath_ant_div_comb_alt_check() 107 switch (conf->div_group) { ath_ant_div_comb_alt_check() 194 struct ath_hw_antcomb_conf *conf) ath_ant_set_alt_ratio() 196 /* set alt to the conf with maximun ratio */ ath_ant_set_alt_ratio() 203 if (conf->main_lna_conf == ATH_ANT_DIV_COMB_LNA2) ath_ant_set_alt_ratio() 204 conf->alt_lna_conf = ATH_ANT_DIV_COMB_LNA1; ath_ant_set_alt_ratio() 206 conf->alt_lna_conf = ATH_ANT_DIV_COMB_LNA2; ath_ant_set_alt_ratio() 209 conf->alt_lna_conf = ath_ant_set_alt_ratio() 214 if (conf->main_lna_conf == ATH_ANT_DIV_COMB_LNA2) ath_ant_set_alt_ratio() 215 conf->alt_lna_conf = ATH_ANT_DIV_COMB_LNA1; ath_ant_set_alt_ratio() 217 conf->alt_lna_conf = ATH_ANT_DIV_COMB_LNA2; ath_ant_set_alt_ratio() 220 conf->alt_lna_conf = antcomb->second_quick_scan_conf; ath_ant_set_alt_ratio() 227 if (conf->main_lna_conf == ATH_ANT_DIV_COMB_LNA2) ath_ant_set_alt_ratio() 228 conf->alt_lna_conf = ATH_ANT_DIV_COMB_LNA1; ath_ant_set_alt_ratio() 230 conf->alt_lna_conf = ATH_ANT_DIV_COMB_LNA2; ath_ant_set_alt_ratio() 233 conf->alt_lna_conf = antcomb->first_quick_scan_conf; ath_ant_set_alt_ratio() 239 if (conf->main_lna_conf == ATH_ANT_DIV_COMB_LNA2) ath_ant_set_alt_ratio() 240 conf->alt_lna_conf = ATH_ANT_DIV_COMB_LNA1; ath_ant_set_alt_ratio() 242 conf->alt_lna_conf = ATH_ANT_DIV_COMB_LNA2; ath_ant_set_alt_ratio() 245 conf->alt_lna_conf = antcomb->second_quick_scan_conf; ath_ant_set_alt_ratio() 251 if (conf->main_lna_conf == ATH_ANT_DIV_COMB_LNA2) ath_ant_set_alt_ratio() 252 conf->alt_lna_conf = ATH_ANT_DIV_COMB_LNA1; ath_ant_set_alt_ratio() 254 conf->alt_lna_conf = ATH_ANT_DIV_COMB_LNA2; ath_ant_set_alt_ratio() 257 conf->alt_lna_conf = antcomb->main_conf; ath_ant_set_alt_ratio() 269 /* set alt to main, and alt to first conf */ ath_select_ant_div_from_quick_scan() 274 /* set alt to main, and alt to first conf */ ath_select_ant_div_from_quick_scan() 385 /* Adjust the fast_div_bias based on main and alt lna conf */ ath_ant_div_conf_fast_divbias() 590 struct ath_hw_antcomb_conf *conf, ath_ant_try_scan() 600 conf->main_lna_conf = ATH_ANT_DIV_COMB_LNA1; ath_ant_try_scan() 601 conf->alt_lna_conf = ATH_ANT_DIV_COMB_LNA1_PLUS_LNA2; ath_ant_try_scan() 608 conf->main_lna_conf = ATH_ANT_DIV_COMB_LNA2; ath_ant_try_scan() 609 conf->alt_lna_conf = ATH_ANT_DIV_COMB_LNA1_PLUS_LNA2; ath_ant_try_scan() 615 conf->alt_lna_conf = ATH_ANT_DIV_COMB_LNA1_MINUS_LNA2; ath_ant_try_scan() 621 (antcomb->rssi_lna1 + conf->lna1_lna2_switch_delta)) { ath_ant_try_scan() 626 conf->main_lna_conf = ATH_ANT_DIV_COMB_LNA2; ath_ant_try_scan() 627 conf->alt_lna_conf = ATH_ANT_DIV_COMB_LNA1_PLUS_LNA2; ath_ant_try_scan() 631 conf->main_lna_conf = ATH_ANT_DIV_COMB_LNA2; ath_ant_try_scan() 632 conf->alt_lna_conf = ATH_ANT_DIV_COMB_LNA1_MINUS_LNA2; ath_ant_try_scan() 635 conf->main_lna_conf = ATH_ANT_DIV_COMB_LNA2; ath_ant_try_scan() 636 conf->alt_lna_conf = ATH_ANT_DIV_COMB_LNA1; ath_ant_try_scan() 643 conf->main_lna_conf = ATH_ANT_DIV_COMB_LNA1; ath_ant_try_scan() 644 conf->alt_lna_conf = ATH_ANT_DIV_COMB_LNA1_PLUS_LNA2; ath_ant_try_scan() 648 conf->main_lna_conf = ATH_ANT_DIV_COMB_LNA1; ath_ant_try_scan() 649 conf->alt_lna_conf = ATH_ANT_DIV_COMB_LNA1_MINUS_LNA2; ath_ant_try_scan() 652 conf->main_lna_conf = ATH_ANT_DIV_COMB_LNA1; ath_ant_try_scan() 653 conf->alt_lna_conf = ATH_ANT_DIV_COMB_LNA2; ath_ant_try_scan() 193 ath_ant_set_alt_ratio(struct ath_ant_comb *antcomb, struct ath_hw_antcomb_conf *conf) ath_ant_set_alt_ratio() argument 589 ath_ant_try_scan(struct ath_ant_comb *antcomb, struct ath_hw_antcomb_conf *conf, int curr_alt_set, int alt_rssi_avg, int main_rssi_avg) ath_ant_try_scan() argument
|
H A D | htc_drv_beacon.c | 69 struct ath_beacon_config *conf, ath9k_htc_beacon_init() 77 if (conf->intval >= TU_TO_USEC(DEFAULT_SWBA_RESPONSE)) ath9k_htc_beacon_init() 86 ath9k_hw_beaconinit(ah, conf->nexttbtt, conf->intval); ath9k_htc_beacon_init() 112 struct ath_beacon_config *conf) ath9k_htc_beacon_config_ap() 117 ath9k_cmn_beacon_config_ap(ah, conf, ATH9K_HTC_MAX_BCN_VIF); ath9k_htc_beacon_config_ap() 118 ath9k_htc_beacon_init(priv, conf, false); ath9k_htc_beacon_config_ap() 122 struct ath_beacon_config *conf) ath9k_htc_beacon_config_adhoc() 127 ath9k_cmn_beacon_config_adhoc(ah, conf); ath9k_htc_beacon_config_adhoc() 128 ath9k_htc_beacon_init(priv, conf, conf->ibss_creator); ath9k_htc_beacon_config_adhoc() 68 ath9k_htc_beacon_init(struct ath9k_htc_priv *priv, struct ath_beacon_config *conf, bool reset_tsf) ath9k_htc_beacon_init() argument 111 ath9k_htc_beacon_config_ap(struct ath9k_htc_priv *priv, struct ath_beacon_config *conf) ath9k_htc_beacon_config_ap() argument 121 ath9k_htc_beacon_config_adhoc(struct ath9k_htc_priv *priv, struct ath_beacon_config *conf) ath9k_htc_beacon_config_adhoc() argument
|
H A D | beacon.c | 465 struct ath_beacon_config *conf) ath9k_beacon_config_ap() 469 ath9k_cmn_beacon_config_ap(ah, conf, ATH_BCBUF); ath9k_beacon_config_ap() 470 ath9k_beacon_init(sc, conf->nexttbtt, conf->intval, false); ath9k_beacon_config_ap() 474 struct ath_beacon_config *conf) ath9k_beacon_config_sta() 478 if (ath9k_cmn_beacon_config_sta(ah, conf, &bs) == -EPERM) ath9k_beacon_config_sta() 490 struct ath_beacon_config *conf) ath9k_beacon_config_adhoc() 497 ath9k_cmn_beacon_config_adhoc(ah, conf); ath9k_beacon_config_adhoc() 499 ath9k_beacon_init(sc, conf->nexttbtt, conf->intval, conf->ibss_creator); ath9k_beacon_config_adhoc() 505 if (!conf->ibss_creator && conf->enable_beacon) ath9k_beacon_config_adhoc() 464 ath9k_beacon_config_ap(struct ath_softc *sc, struct ath_beacon_config *conf) ath9k_beacon_config_ap() argument 473 ath9k_beacon_config_sta(struct ath_hw *ah, struct ath_beacon_config *conf) ath9k_beacon_config_sta() argument 489 ath9k_beacon_config_adhoc(struct ath_softc *sc, struct ath_beacon_config *conf) ath9k_beacon_config_adhoc() argument
|
H A D | ar5008_phy.c | 1216 struct ath_hw_radar_conf *conf) ar5008_hw_set_radar_params() 1220 if (!conf) { ar5008_hw_set_radar_params() 1226 radar_0 |= SM(conf->fir_power, AR_PHY_RADAR_0_FIRPWR); ar5008_hw_set_radar_params() 1227 radar_0 |= SM(conf->radar_rssi, AR_PHY_RADAR_0_RRSSI); ar5008_hw_set_radar_params() 1228 radar_0 |= SM(conf->pulse_height, AR_PHY_RADAR_0_HEIGHT); ar5008_hw_set_radar_params() 1229 radar_0 |= SM(conf->pulse_rssi, AR_PHY_RADAR_0_PRSSI); ar5008_hw_set_radar_params() 1230 radar_0 |= SM(conf->pulse_inband, AR_PHY_RADAR_0_INBAND); ar5008_hw_set_radar_params() 1237 radar_1 |= SM(conf->pulse_maxlen, AR_PHY_RADAR_1_MAXLEN); ar5008_hw_set_radar_params() 1238 radar_1 |= SM(conf->pulse_inband_step, AR_PHY_RADAR_1_RELSTEP_THRESH); ar5008_hw_set_radar_params() 1239 radar_1 |= SM(conf->radar_inband, AR_PHY_RADAR_1_RELPWR_THRESH); ar5008_hw_set_radar_params() 1243 if (conf->ext_channel) ar5008_hw_set_radar_params() 1251 struct ath_hw_radar_conf *conf = &ah->radar_conf; ar5008_hw_set_radar_conf() local 1253 conf->fir_power = -33; ar5008_hw_set_radar_conf() 1254 conf->radar_rssi = 20; ar5008_hw_set_radar_conf() 1255 conf->pulse_height = 10; ar5008_hw_set_radar_conf() 1256 conf->pulse_rssi = 15; ar5008_hw_set_radar_conf() 1257 conf->pulse_inband = 15; ar5008_hw_set_radar_conf() 1258 conf->pulse_maxlen = 255; ar5008_hw_set_radar_conf() 1259 conf->pulse_inband_step = 12; ar5008_hw_set_radar_conf() 1260 conf->radar_inband = 8; ar5008_hw_set_radar_conf() 1215 ar5008_hw_set_radar_params(struct ath_hw *ah, struct ath_hw_radar_conf *conf) ar5008_hw_set_radar_params() argument
|
H A D | htc_drv_main.c | 188 struct ieee80211_channel *channel = priv->hw->conf.chandef.chan; ath9k_htc_reset() 246 struct ieee80211_conf *conf = &common->hw->conf; ath9k_htc_set_channel() local 248 struct ieee80211_channel *channel = hw->conf.chandef.chan; ath9k_htc_set_channel() 258 fastcc = !!(hw->conf.flags & IEEE80211_CONF_OFFCHANNEL); ath9k_htc_set_channel() 275 channel->center_freq, conf_is_ht(conf), conf_is_ht40(conf), ath9k_htc_set_channel() 311 !(hw->conf.flags & IEEE80211_CONF_OFFCHANNEL)) ath9k_htc_set_channel() 605 sband = priv->hw->wiphy->bands[priv->hw->conf.chandef.chan->band]; ath9k_htc_setup_rate() 631 (conf_is_ht40(&priv->hw->conf))) ath9k_htc_setup_rate() 633 if (conf_is_ht40(&priv->hw->conf) && ath9k_htc_setup_rate() 636 else if (conf_is_ht20(&priv->hw->conf) && ath9k_htc_setup_rate() 915 struct ieee80211_channel *curchan = hw->conf.chandef.chan; ath9k_htc_start() 933 init_channel = ath9k_cmn_get_channel(hw, ah, &hw->conf.chandef); ath9k_htc_start() 1182 struct ieee80211_conf *conf = &hw->conf; ath9k_htc_config() local 1192 priv->ps_idle = !!(conf->flags & IEEE80211_CONF_IDLE); ath9k_htc_config() 1204 if ((conf->flags & IEEE80211_CONF_MONITOR) && ath9k_htc_config() 1212 struct ieee80211_channel *curchan = hw->conf.chandef.chan; ath9k_htc_config() 1218 ath9k_cmn_get_channel(hw, priv->ah, &hw->conf.chandef); ath9k_htc_config() 1228 if (conf->flags & IEEE80211_CONF_PS) { ath9k_htc_config() 1239 priv->txpowlimit = 2 * conf->power_level; ath9k_htc_config()
|
H A D | ar9003_phy.c | 1466 struct ath_hw_radar_conf *conf) ar9003_hw_set_radar_params() 1471 if (!conf) { ar9003_hw_set_radar_params() 1477 radar_0 |= SM(conf->fir_power, AR_PHY_RADAR_0_FIRPWR); ar9003_hw_set_radar_params() 1478 radar_0 |= SM(conf->radar_rssi, AR_PHY_RADAR_0_RRSSI); ar9003_hw_set_radar_params() 1479 radar_0 |= SM(conf->pulse_height, AR_PHY_RADAR_0_HEIGHT); ar9003_hw_set_radar_params() 1480 radar_0 |= SM(conf->pulse_rssi, AR_PHY_RADAR_0_PRSSI); ar9003_hw_set_radar_params() 1481 radar_0 |= SM(conf->pulse_inband, AR_PHY_RADAR_0_INBAND); ar9003_hw_set_radar_params() 1488 radar_1 |= SM(conf->pulse_maxlen, AR_PHY_RADAR_1_MAXLEN); ar9003_hw_set_radar_params() 1489 radar_1 |= SM(conf->pulse_inband_step, AR_PHY_RADAR_1_RELSTEP_THRESH); ar9003_hw_set_radar_params() 1490 radar_1 |= SM(conf->radar_inband, AR_PHY_RADAR_1_RELPWR_THRESH); ar9003_hw_set_radar_params() 1494 if (conf->ext_channel) ar9003_hw_set_radar_params() 1507 struct ath_hw_radar_conf *conf = &ah->radar_conf; ar9003_hw_set_radar_conf() local 1509 conf->fir_power = -28; ar9003_hw_set_radar_conf() 1510 conf->radar_rssi = 0; ar9003_hw_set_radar_conf() 1511 conf->pulse_height = 10; ar9003_hw_set_radar_conf() 1512 conf->pulse_rssi = 15; ar9003_hw_set_radar_conf() 1513 conf->pulse_inband = 8; ar9003_hw_set_radar_conf() 1514 conf->pulse_maxlen = 255; ar9003_hw_set_radar_conf() 1515 conf->pulse_inband_step = 12; ar9003_hw_set_radar_conf() 1516 conf->radar_inband = 8; ar9003_hw_set_radar_conf() 1601 * Set MAIN/ALT LNA conf. ar9003_hw_set_bt_ant_diversity() 1465 ar9003_hw_set_radar_params(struct ath_hw *ah, struct ath_hw_radar_conf *conf) ar9003_hw_set_radar_params() argument
|
H A D | main.c | 665 sc->cur_chandef = hw->conf.chandef; ath9k_start() 1204 power = sc->hw->conf.power_level; ath9k_set_txpower() 1206 power = sc->hw->conf.power_level; ath9k_set_txpower() 1393 struct ieee80211_conf *conf = &hw->conf; ath9k_config() local 1400 sc->ps_idle = !!(conf->flags & IEEE80211_CONF_IDLE); ath9k_config() 1423 if (conf->flags & IEEE80211_CONF_PS) ath9k_config() 1431 if (conf->flags & IEEE80211_CONF_MONITOR) { ath9k_config() 1441 ctx->offchannel = !!(conf->flags & IEEE80211_CONF_OFFCHANNEL); ath9k_config() 1442 ath_chanctx_set_channel(sc, ctx, &hw->conf.chandef); ath9k_config() 2378 struct ieee80211_chanctx_conf *conf) ath9k_add_chanctx() 2391 ptr = (void *) conf->drv_priv; ath_for_each_chanctx() 2399 conf->def.chan->center_freq); ath_for_each_chanctx() 2401 ath_chanctx_set_channel(sc, ctx, &conf->def); ath_for_each_chanctx() 2413 struct ieee80211_chanctx_conf *conf) ath9k_remove_chanctx() 2417 struct ath_chanctx *ctx = ath_chanctx_get(conf); ath9k_remove_chanctx() 2423 conf->def.chan->center_freq); ath9k_remove_chanctx() 2433 struct ieee80211_chanctx_conf *conf, ath9k_change_chanctx() 2438 struct ath_chanctx *ctx = ath_chanctx_get(conf); ath9k_change_chanctx() 2443 conf->def.chan->center_freq); ath9k_change_chanctx() 2444 ath_chanctx_set_channel(sc, ctx, &conf->def); ath9k_change_chanctx() 2450 struct ieee80211_chanctx_conf *conf) ath9k_assign_vif_chanctx() 2455 struct ath_chanctx *ctx = ath_chanctx_get(conf); ath9k_assign_vif_chanctx() 2465 conf->def.chan->center_freq); ath9k_assign_vif_chanctx() 2481 struct ieee80211_chanctx_conf *conf) ath9k_unassign_vif_chanctx() 2486 struct ath_chanctx *ctx = ath_chanctx_get(conf); ath9k_unassign_vif_chanctx() 2496 conf->def.chan->center_freq); ath9k_unassign_vif_chanctx() 2377 ath9k_add_chanctx(struct ieee80211_hw *hw, struct ieee80211_chanctx_conf *conf) ath9k_add_chanctx() argument 2412 ath9k_remove_chanctx(struct ieee80211_hw *hw, struct ieee80211_chanctx_conf *conf) ath9k_remove_chanctx() argument 2432 ath9k_change_chanctx(struct ieee80211_hw *hw, struct ieee80211_chanctx_conf *conf, u32 changed) ath9k_change_chanctx() argument 2448 ath9k_assign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_chanctx_conf *conf) ath9k_assign_vif_chanctx() argument 2479 ath9k_unassign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_chanctx_conf *conf) ath9k_unassign_vif_chanctx() argument
|
/linux-4.4.14/sound/oss/ |
H A D | sb_card.c | 101 if (!request_region(scc->conf.io_base, 16, "soundblaster")) { sb_register_oss() 107 if (!sb_dsp_detect(&scc->conf, 0, 0, sbmo)) { sb_register_oss() 108 release_region(scc->conf.io_base, 16); sb_register_oss() 113 if(!sb_dsp_init(&scc->conf, THIS_MODULE)) { sb_register_oss() 130 sb_dsp_unload(&scc->conf, 0); sb_unload() 146 legacy->conf.io_base = io; sb_init_legacy() 147 legacy->conf.irq = irq; sb_init_legacy() 148 legacy->conf.dma = dma; sb_init_legacy() 149 legacy->conf.dma2 = dma16; sb_init_legacy() 150 legacy->conf.card_subtype = type; sb_init_legacy() 169 scc->conf.io_base = -1; sb_dev2cfg() 170 scc->conf.irq = -1; sb_dev2cfg() 171 scc->conf.dma = -1; sb_dev2cfg() 172 scc->conf.dma2 = -1; sb_dev2cfg() 181 scc->conf.io_base = pnp_port_start(dev,0); sb_dev2cfg() 182 scc->conf.irq = pnp_irq(dev,0); sb_dev2cfg() 183 scc->conf.dma = pnp_dma(dev,0); sb_dev2cfg() 184 scc->conf.dma2 = pnp_dma(dev,1); sb_dev2cfg() 189 scc->conf.io_base = pnp_port_start(dev,0); sb_dev2cfg() 190 scc->conf.irq = pnp_irq(dev,0); sb_dev2cfg() 191 scc->conf.dma = pnp_dma(dev,0); sb_dev2cfg() 192 scc->conf.dma2 = pnp_dma(dev,1); sb_dev2cfg() 196 scc->conf.io_base = pnp_port_start(dev,0); sb_dev2cfg() 197 scc->conf.irq = pnp_irq(dev,0); sb_dev2cfg() 198 scc->conf.dma = pnp_dma(dev,0); sb_dev2cfg() 199 scc->conf.dma2 = pnp_dma(dev,1); sb_dev2cfg() 204 scc->conf.io_base = pnp_port_start(dev,0); sb_dev2cfg() 205 scc->conf.irq = pnp_irq(dev,0); sb_dev2cfg() 206 scc->conf.dma = pnp_dma(dev,0); sb_dev2cfg() 207 scc->conf.dma2 = pnp_dma(dev,1); sb_dev2cfg() 211 scc->conf.io_base = pnp_port_start(dev,0); sb_dev2cfg() 212 scc->conf.irq = pnp_irq(dev,0); sb_dev2cfg() 213 scc->conf.dma = pnp_dma(dev,0); sb_dev2cfg() 218 scc->conf.io_base = pnp_port_start(dev,0); sb_dev2cfg() 219 scc->conf.irq = pnp_irq(dev,0); sb_dev2cfg() 220 scc->conf.dma = pnp_dma(dev,0); sb_dev2cfg() 222 scc->conf.io_base = pnp_port_start(dev,0); sb_dev2cfg() 223 scc->conf.irq = pnp_irq(dev,0); sb_dev2cfg() 224 scc->conf.dma = pnp_dma(dev,1); sb_dev2cfg() 225 scc->conf.dma2 = pnp_dma(dev,0); sb_dev2cfg() 230 scc->conf.io_base = pnp_port_start(dev,0); sb_dev2cfg() 231 scc->conf.irq = pnp_irq(dev,0); sb_dev2cfg() 232 scc->conf.dma = pnp_dma(dev,1); sb_dev2cfg() 233 scc->conf.dma2 = pnp_dma(dev,0); sb_dev2cfg() 264 "dma=%d, dma16=%d\n", scc->conf.io_base, scc->conf.irq, sb_pnp_probe() 265 scc->conf.dma, scc->conf.dma2); sb_pnp_probe()
|
H A D | trix.c | 275 unsigned char conf; probe_trix_sb() local 303 conf = 0x84; /* DMA and IRQ enable */ probe_trix_sb() 304 conf |= hw_config->io_base & 0x70; /* I/O address bits */ probe_trix_sb() 305 conf |= irq_translate[hw_config->irq]; probe_trix_sb() 307 conf |= 0x08; probe_trix_sb() 308 trix_write(0x1b, conf); probe_trix_sb() 332 unsigned char conf; probe_trix_mpu() local 350 conf = 0x00; probe_trix_mpu() 353 conf = 0x04; probe_trix_mpu() 356 conf = 0x08; probe_trix_mpu() 359 conf = 0x0c; probe_trix_mpu() 365 conf |= irq_bits[hw_config->irq] << 4; probe_trix_mpu() 366 trix_write(0x19, (trix_read(0x19) & 0x83) | conf); probe_trix_mpu()
|
/linux-4.4.14/drivers/net/wireless/rt2x00/ |
H A D | rt2x00config.c | 35 struct rt2x00intf_conf conf; rt2x00lib_config_intf() local 38 conf.type = type; rt2x00lib_config_intf() 42 conf.sync = TSF_SYNC_ADHOC; rt2x00lib_config_intf() 47 conf.sync = TSF_SYNC_AP_NONE; rt2x00lib_config_intf() 50 conf.sync = TSF_SYNC_INFRA; rt2x00lib_config_intf() 53 conf.sync = TSF_SYNC_NONE; rt2x00lib_config_intf() 63 memset(conf.mac, 0, sizeof(conf.mac)); rt2x00lib_config_intf() 65 memcpy(conf.mac, mac, ETH_ALEN); rt2x00lib_config_intf() 67 memset(conf.bssid, 0, sizeof(conf.bssid)); rt2x00lib_config_intf() 69 memcpy(conf.bssid, bssid, ETH_ALEN); rt2x00lib_config_intf() 77 rt2x00dev->ops->lib->config_intf(rt2x00dev, intf, &conf, flags); rt2x00lib_config_intf() 176 struct ieee80211_conf *conf) rt2x00ht_center_channel() 185 center_channel = spec->channels[conf->chandef.chan->hw_value].channel; rt2x00ht_center_channel() 190 if (conf_is_ht40_plus(conf)) rt2x00ht_center_channel() 192 else if (conf_is_ht40_minus(conf)) rt2x00ht_center_channel() 200 return conf->chandef.chan->hw_value; rt2x00ht_center_channel() 204 struct ieee80211_conf *conf, rt2x00lib_config() 215 libconf.conf = conf; rt2x00lib_config() 218 if (!conf_is_ht(conf)) rt2x00lib_config() 223 if (conf_is_ht40(conf)) { rt2x00lib_config() 225 hw_value = rt2x00ht_center_channel(rt2x00dev, conf); rt2x00lib_config() 228 hw_value = conf->chandef.chan->hw_value; rt2x00lib_config() 262 (conf->flags & IEEE80211_CONF_PS)) { rt2x00lib_config() 269 autowake_timeout = (conf->ps_dtim_period * beacon_int) - beacon_diff; rt2x00lib_config() 275 if (conf->flags & IEEE80211_CONF_PS) rt2x00lib_config() 280 rt2x00dev->curr_band = conf->chandef.chan->band; rt2x00lib_config() 281 rt2x00dev->curr_freq = conf->chandef.chan->center_freq; rt2x00lib_config() 282 rt2x00dev->tx_power = conf->power_level; rt2x00lib_config() 283 rt2x00dev->short_retry = conf->short_frame_max_tx_count; rt2x00lib_config() 284 rt2x00dev->long_retry = conf->long_frame_max_tx_count; rt2x00lib_config() 175 rt2x00ht_center_channel(struct rt2x00_dev *rt2x00dev, struct ieee80211_conf *conf) rt2x00ht_center_channel() argument 203 rt2x00lib_config(struct rt2x00_dev *rt2x00dev, struct ieee80211_conf *conf, unsigned int ieee80211_flags) rt2x00lib_config() argument
|
H A D | rt2800lib.c | 1522 struct rt2x00intf_conf *conf, const unsigned int flags) rt2800_config_intf() 1532 rt2x00_set_field32(®, BCN_TIME_CFG_TSF_SYNC, conf->sync); rt2800_config_intf() 1535 if (conf->sync == TSF_SYNC_AP_NONE) { rt2800_config_intf() 1557 conf->sync == TSF_SYNC_AP_NONE) { rt2800_config_intf() 1562 memcpy(conf->bssid, conf->mac, sizeof(conf->mac)); rt2800_config_intf() 1566 if (!is_zero_ether_addr((const u8 *)conf->mac)) { rt2800_config_intf() 1567 reg = le32_to_cpu(conf->mac[1]); rt2800_config_intf() 1569 conf->mac[1] = cpu_to_le32(reg); rt2800_config_intf() 1573 conf->mac, sizeof(conf->mac)); rt2800_config_intf() 1577 if (!is_zero_ether_addr((const u8 *)conf->bssid)) { rt2800_config_intf() 1578 reg = le32_to_cpu(conf->bssid[1]); rt2800_config_intf() 1581 conf->bssid[1] = cpu_to_le32(reg); rt2800_config_intf() 1585 conf->bssid, sizeof(conf->bssid)); rt2800_config_intf() 1944 struct ieee80211_conf *conf, rt2800_config_channel_rf2xxx() 1986 rt2x00_set_field32(&rf->rf4, RF4_HT40, conf_is_ht40(conf)); rt2800_config_channel_rf2xxx() 2009 struct ieee80211_conf *conf, rt2800_config_channel_rf3xxx() 2052 calib_tx = conf_is_ht40(conf) ? 0x68 : 0x4f; rt2800_config_channel_rf3xxx() 2053 calib_rx = conf_is_ht40(conf) ? 0x6f : 0x4f; rt2800_config_channel_rf3xxx() 2055 if (conf_is_ht40(conf)) { rt2800_config_channel_rf3xxx() 2085 struct ieee80211_conf *conf, rt2800_config_channel_rf3052() 2182 if (conf_is_ht40(conf)) { rt2800_config_channel_rf3052() 2255 struct ieee80211_conf *conf, rt2800_config_channel_rf3053() 2386 if (conf_is_ht40(conf)) { rt2800_config_channel_rf3053() 2555 struct ieee80211_conf *conf, rt2800_config_channel_rf3290() 2592 struct ieee80211_conf *conf, rt2800_config_channel_rf3322() 2640 struct ieee80211_conf *conf, rt2800_config_channel_rf53xx() 2733 struct ieee80211_conf *conf, rt2800_config_channel_rf55xx() 2747 (rf->channel > 14 || conf_is_ht40(conf)) ? 5 : 0); rt2800_config_channel_rf55xx() 2964 if (conf_is_ht40(conf)) rt2800_config_channel_rf55xx() 3126 struct ieee80211_conf *conf, rt2800_config_channel() 3149 rt2800_config_channel_rf3xxx(rt2x00dev, conf, rf, info); rt2800_config_channel() 3152 rt2800_config_channel_rf3052(rt2x00dev, conf, rf, info); rt2800_config_channel() 3155 rt2800_config_channel_rf3053(rt2x00dev, conf, rf, info); rt2800_config_channel() 3158 rt2800_config_channel_rf3290(rt2x00dev, conf, rf, info); rt2800_config_channel() 3161 rt2800_config_channel_rf3322(rt2x00dev, conf, rf, info); rt2800_config_channel() 3170 rt2800_config_channel_rf53xx(rt2x00dev, conf, rf, info); rt2800_config_channel() 3173 rt2800_config_channel_rf55xx(rt2x00dev, conf, rf, info); rt2800_config_channel() 3176 rt2800_config_channel_rf2xxx(rt2x00dev, conf, rf, info); rt2800_config_channel() 3214 if (conf_is_ht40(conf)) rt2800_config_channel() 3265 rt2x00_set_field32(®, TX_BAND_CFG_HT40_MINUS, conf_is_ht40_minus(conf)); rt2800_config_channel() 3382 rt2800_bbp_write(rt2x00dev, 196, conf_is_ht40(conf) ? 0x10 : 0x1a); rt2800_config_channel() 3392 rt2x00_set_field8(&bbp, BBP4_BANDWIDTH, 2 * conf_is_ht40(conf)); rt2800_config_channel() 3396 rt2x00_set_field8(&bbp, BBP3_HT40_MINUS, conf_is_ht40_minus(conf)); rt2800_config_channel() 3400 if (conf_is_ht40(conf)) { rt2800_config_channel() 4268 rt2800_config_txpower(rt2x00dev, rt2x00dev->hw->conf.chandef.chan, rt2800_gain_calibration() 4360 libconf->conf->short_frame_max_tx_count); rt2800_config_retry_limit() 4362 libconf->conf->long_frame_max_tx_count); rt2800_config_retry_limit() 4370 (libconf->conf->flags & IEEE80211_CONF_PS) ? rt2800_config_ps() 4380 libconf->conf->listen_interval - 1); rt2800_config_ps() 4404 rt2800_config_channel(rt2x00dev, libconf->conf, rt2800_config() 4406 rt2800_config_txpower(rt2x00dev, libconf->conf->chandef.chan, rt2800_config() 4407 libconf->conf->power_level); rt2800_config() 4410 rt2800_config_txpower(rt2x00dev, libconf->conf->chandef.chan, rt2800_config() 4411 libconf->conf->power_level); rt2800_config() 7988 struct ieee80211_conf *conf = &hw->conf; rt2800_get_survey() local 7994 survey->channel = conf->chandef.chan; rt2800_get_survey() 8010 if (!(hw->conf.flags & IEEE80211_CONF_OFFCHANNEL)) rt2800_get_survey() 1521 rt2800_config_intf(struct rt2x00_dev *rt2x00dev, struct rt2x00_intf *intf, struct rt2x00intf_conf *conf, const unsigned int flags) rt2800_config_intf() argument 1943 rt2800_config_channel_rf2xxx(struct rt2x00_dev *rt2x00dev, struct ieee80211_conf *conf, struct rf_channel *rf, struct channel_info *info) rt2800_config_channel_rf2xxx() argument 2008 rt2800_config_channel_rf3xxx(struct rt2x00_dev *rt2x00dev, struct ieee80211_conf *conf, struct rf_channel *rf, struct channel_info *info) rt2800_config_channel_rf3xxx() argument 2084 rt2800_config_channel_rf3052(struct rt2x00_dev *rt2x00dev, struct ieee80211_conf *conf, struct rf_channel *rf, struct channel_info *info) rt2800_config_channel_rf3052() argument 2254 rt2800_config_channel_rf3053(struct rt2x00_dev *rt2x00dev, struct ieee80211_conf *conf, struct rf_channel *rf, struct channel_info *info) rt2800_config_channel_rf3053() argument 2554 rt2800_config_channel_rf3290(struct rt2x00_dev *rt2x00dev, struct ieee80211_conf *conf, struct rf_channel *rf, struct channel_info *info) rt2800_config_channel_rf3290() argument 2591 rt2800_config_channel_rf3322(struct rt2x00_dev *rt2x00dev, struct ieee80211_conf *conf, struct rf_channel *rf, struct channel_info *info) rt2800_config_channel_rf3322() argument 2639 rt2800_config_channel_rf53xx(struct rt2x00_dev *rt2x00dev, struct ieee80211_conf *conf, struct rf_channel *rf, struct channel_info *info) rt2800_config_channel_rf53xx() argument 2732 rt2800_config_channel_rf55xx(struct rt2x00_dev *rt2x00dev, struct ieee80211_conf *conf, struct rf_channel *rf, struct channel_info *info) rt2800_config_channel_rf55xx() argument 3125 rt2800_config_channel(struct rt2x00_dev *rt2x00dev, struct ieee80211_conf *conf, struct rf_channel *rf, struct channel_info *info) rt2800_config_channel() argument
|
H A D | rt73usb.c | 497 struct rt2x00intf_conf *conf, rt73usb_config_intf() 507 rt2x00_set_field32(®, TXRX_CSR9_TSF_SYNC, conf->sync); rt73usb_config_intf() 512 reg = le32_to_cpu(conf->mac[1]); rt73usb_config_intf() 514 conf->mac[1] = cpu_to_le32(reg); rt73usb_config_intf() 517 conf->mac, sizeof(conf->mac)); rt73usb_config_intf() 521 reg = le32_to_cpu(conf->bssid[1]); rt73usb_config_intf() 523 conf->bssid[1] = cpu_to_le32(reg); rt73usb_config_intf() 526 conf->bssid, sizeof(conf->bssid)); rt73usb_config_intf() 737 if (libconf->conf->chandef.chan->band == IEEE80211_BAND_2GHZ) { rt73usb_config_lna_gain() 815 libconf->conf->long_frame_max_tx_count); rt73usb_config_retry_limit() 817 libconf->conf->short_frame_max_tx_count); rt73usb_config_retry_limit() 825 (libconf->conf->flags & IEEE80211_CONF_PS) ? rt73usb_config_ps() 834 libconf->conf->listen_interval - 1); rt73usb_config_ps() 868 libconf->conf->power_level); rt73usb_config() 871 rt73usb_config_txpower(rt2x00dev, libconf->conf->power_level); rt73usb_config() 495 rt73usb_config_intf(struct rt2x00_dev *rt2x00dev, struct rt2x00_intf *intf, struct rt2x00intf_conf *conf, const unsigned int flags) rt73usb_config_intf() argument
|
/linux-4.4.14/drivers/ata/ |
H A D | pata_piccolo.c | 37 u16 conf; tosh_set_piomode() local 38 pci_read_config_word(pdev, 0x50, &conf); tosh_set_piomode() 39 conf &= 0xE088; tosh_set_piomode() 40 conf |= pio[adev->pio_mode - XFER_PIO_0]; tosh_set_piomode() 41 pci_write_config_word(pdev, 0x50, conf); tosh_set_piomode() 47 u32 conf; tosh_set_dmamode() local 48 pci_read_config_dword(pdev, 0x5C, &conf); tosh_set_dmamode() 49 conf &= 0x78FFE088; /* Keep the other bits */ tosh_set_dmamode() 52 conf |= 0x80000000; tosh_set_dmamode() 53 conf |= (udma + 2) << 28; tosh_set_dmamode() 54 conf |= (2 - udma) * 0x111; /* spread into three nibbles */ tosh_set_dmamode() 59 conf |= mwdma[adev->dma_mode - XFER_MW_DMA_0]; tosh_set_dmamode() 61 pci_write_config_dword(pdev, 0x5C, conf); tosh_set_dmamode()
|
H A D | pata_it821x.c | 131 u8 conf; it821x_program() local 135 conf = timing >> 8; it821x_program() 137 conf = timing & 0xFF; it821x_program() 138 pci_write_config_byte(pdev, 0x54 + 4 * channel, conf); it821x_program() 160 u8 conf; it821x_program_udma() local 164 conf = timing >> 8; it821x_program_udma() 166 conf = timing & 0xFF; it821x_program_udma() 168 pci_write_config_byte(pdev, 0x56 + 4 * channel + unit, conf); it821x_program_udma() 171 pci_write_config_byte(pdev, 0x56 + 4 * channel, conf); it821x_program_udma() 172 pci_write_config_byte(pdev, 0x56 + 4 * channel + 1, conf); it821x_program_udma() 296 u8 conf; it821x_passthru_set_dmamode() local 309 pci_read_config_byte(pdev, 0x50, &conf); it821x_passthru_set_dmamode() 311 conf &= channel ? 0x9F: 0xE7; it821x_passthru_set_dmamode() 313 conf &= ~ (1 << (3 + 2 * channel + unit)); it821x_passthru_set_dmamode() 314 pci_write_config_byte(pdev, 0x50, conf); it821x_passthru_set_dmamode() 326 pci_read_config_byte(pdev, 0x50, &conf); it821x_passthru_set_dmamode() 328 conf |= channel ? 0x60: 0x18; it821x_passthru_set_dmamode() 330 conf |= 1 << (3 + 2 * channel + unit); it821x_passthru_set_dmamode() 331 pci_write_config_byte(pdev, 0x50, conf); it821x_passthru_set_dmamode() 739 u8 conf; it821x_port_start() local 750 pci_read_config_byte(pdev, 0x50, &conf); it821x_port_start() 752 if (conf & 1) { it821x_port_start() 761 if (conf & (1 << (1 + ap->port_no))) it821x_port_start() 874 u8 conf; it821x_init_one() local 925 pci_read_config_byte(pdev, 0x50, &conf); it821x_init_one() 926 conf &= 1; it821x_init_one() 929 mode[conf]); it821x_init_one() 930 if (conf == 0) it821x_init_one()
|
H A D | pata_ep93xx.c | 651 struct dma_slave_config conf; ep93xx_pata_dma_init() local 680 memset(&conf, 0, sizeof(conf)); ep93xx_pata_dma_init() 681 conf.direction = DMA_FROM_DEVICE; ep93xx_pata_dma_init() 682 conf.src_addr = drv_data->udma_in_phys; ep93xx_pata_dma_init() 683 conf.src_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES; ep93xx_pata_dma_init() 684 if (dmaengine_slave_config(drv_data->dma_rx_channel, &conf)) { ep93xx_pata_dma_init() 691 memset(&conf, 0, sizeof(conf)); ep93xx_pata_dma_init() 692 conf.direction = DMA_TO_DEVICE; ep93xx_pata_dma_init() 693 conf.dst_addr = drv_data->udma_out_phys; ep93xx_pata_dma_init() 694 conf.dst_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES; ep93xx_pata_dma_init() 695 if (dmaengine_slave_config(drv_data->dma_tx_channel, &conf)) { ep93xx_pata_dma_init()
|
/linux-4.4.14/drivers/staging/lustre/lustre/ptlrpc/ |
H A D | sec_config.c | 464 static void sptlrpc_conf_free_rsets(struct sptlrpc_conf *conf) sptlrpc_conf_free_rsets() argument 468 sptlrpc_rule_set_free(&conf->sc_rset); sptlrpc_conf_free_rsets() 471 &conf->sc_tgts, sct_list) { sptlrpc_conf_free_rsets() 476 LASSERT(list_empty(&conf->sc_tgts)); sptlrpc_conf_free_rsets() 478 conf->sc_updated = 0; sptlrpc_conf_free_rsets() 479 conf->sc_local = 0; sptlrpc_conf_free_rsets() 482 static void sptlrpc_conf_free(struct sptlrpc_conf *conf) sptlrpc_conf_free() argument 484 CDEBUG(D_SEC, "free sptlrpc conf %s\n", conf->sc_fsname); sptlrpc_conf_free() 486 sptlrpc_conf_free_rsets(conf); sptlrpc_conf_free() 487 list_del(&conf->sc_list); sptlrpc_conf_free() 488 kfree(conf); sptlrpc_conf_free() 492 struct sptlrpc_conf_tgt *sptlrpc_conf_get_tgt(struct sptlrpc_conf *conf, sptlrpc_conf_get_tgt() argument 498 list_for_each_entry(conf_tgt, &conf->sc_tgts, sct_list) { sptlrpc_conf_get_tgt() 510 list_add(&conf_tgt->sct_list, &conf->sc_tgts); sptlrpc_conf_get_tgt() 520 struct sptlrpc_conf *conf; sptlrpc_conf_get() local 522 list_for_each_entry(conf, &sptlrpc_confs, sc_list) { sptlrpc_conf_get() 523 if (strcmp(conf->sc_fsname, fsname) == 0) sptlrpc_conf_get() 524 return conf; sptlrpc_conf_get() 530 conf = kzalloc(sizeof(*conf), GFP_NOFS); sptlrpc_conf_get() 531 if (!conf) sptlrpc_conf_get() 534 strcpy(conf->sc_fsname, fsname); sptlrpc_conf_get() 535 sptlrpc_rule_set_init(&conf->sc_rset); sptlrpc_conf_get() 536 INIT_LIST_HEAD(&conf->sc_tgts); sptlrpc_conf_get() 537 list_add(&conf->sc_list, &sptlrpc_confs); sptlrpc_conf_get() 539 CDEBUG(D_SEC, "create sptlrpc conf %s\n", conf->sc_fsname); sptlrpc_conf_get() 540 return conf; sptlrpc_conf_get() 546 static int sptlrpc_conf_merge_rule(struct sptlrpc_conf *conf, sptlrpc_conf_merge_rule() argument 554 if (strcmp(conf->sc_fsname, target) == 0) { sptlrpc_conf_merge_rule() 555 rule_set = &conf->sc_rset; sptlrpc_conf_merge_rule() 557 conf_tgt = sptlrpc_conf_get_tgt(conf, target, 1); sptlrpc_conf_merge_rule() 570 * process one LCFG_SPTLRPC_CONF record. if \a conf is NULL, we 575 struct sptlrpc_conf *conf) __sptlrpc_process_config() 607 if (conf == NULL) { __sptlrpc_process_config() 611 conf = sptlrpc_conf_get(fsname, 0); __sptlrpc_process_config() 612 if (conf == NULL) { __sptlrpc_process_config() 613 CERROR("can't find conf\n"); __sptlrpc_process_config() 616 rc = sptlrpc_conf_merge_rule(conf, target, &rule); __sptlrpc_process_config() 621 rc = sptlrpc_conf_merge_rule(conf, target, &rule); __sptlrpc_process_config() 625 conf->sc_modified++; __sptlrpc_process_config() 656 struct sptlrpc_conf *conf; sptlrpc_conf_log_update_begin() local 664 conf = sptlrpc_conf_get(fsname, 0); sptlrpc_conf_log_update_begin() 665 if (conf) { sptlrpc_conf_log_update_begin() 666 if (conf->sc_local) { sptlrpc_conf_log_update_begin() 667 LASSERT(conf->sc_updated == 0); sptlrpc_conf_log_update_begin() 668 sptlrpc_conf_free_rsets(conf); sptlrpc_conf_log_update_begin() 670 conf->sc_modified = 0; sptlrpc_conf_log_update_begin() 682 struct sptlrpc_conf *conf; sptlrpc_conf_log_update_end() local 690 conf = sptlrpc_conf_get(fsname, 0); sptlrpc_conf_log_update_end() 691 if (conf) { sptlrpc_conf_log_update_end() 696 if (conf->sc_updated == 0) sptlrpc_conf_log_update_end() 697 conf->sc_modified++; sptlrpc_conf_log_update_end() 699 conf->sc_updated = 1; sptlrpc_conf_log_update_end() 721 struct sptlrpc_conf *conf; sptlrpc_conf_log_stop() local 728 conf = sptlrpc_conf_get(fsname, 0); sptlrpc_conf_log_stop() 729 if (conf) sptlrpc_conf_log_stop() 730 sptlrpc_conf_free(conf); sptlrpc_conf_log_stop() 766 struct sptlrpc_conf *conf; sptlrpc_conf_choose_flavor() local 775 conf = sptlrpc_conf_get(name, 0); sptlrpc_conf_choose_flavor() 776 if (conf == NULL) sptlrpc_conf_choose_flavor() 785 conf_tgt = sptlrpc_conf_get_tgt(conf, name, 0); sptlrpc_conf_choose_flavor() 793 rc = sptlrpc_rule_set_choose(&conf->sc_rset, from, to, nid, sf); sptlrpc_conf_choose_flavor() 841 struct sptlrpc_conf *conf, *conf_next; sptlrpc_conf_fini() local 844 list_for_each_entry_safe(conf, conf_next, &sptlrpc_confs, sc_list) { sptlrpc_conf_fini() 845 sptlrpc_conf_free(conf); sptlrpc_conf_fini() 574 __sptlrpc_process_config(struct lustre_cfg *lcfg, struct sptlrpc_conf *conf) __sptlrpc_process_config() argument
|
H A D | nrs.c | 1109 * \param[in] conf configuration information for the new policy to register 1114 static int ptlrpc_nrs_policy_register(struct ptlrpc_nrs_pol_conf *conf) ptlrpc_nrs_policy_register() argument 1120 LASSERT(conf != NULL); ptlrpc_nrs_policy_register() 1121 LASSERT(conf->nc_ops != NULL); ptlrpc_nrs_policy_register() 1122 LASSERT(conf->nc_compat != NULL); ptlrpc_nrs_policy_register() 1123 LASSERT(ergo(conf->nc_compat == nrs_policy_compat_one, ptlrpc_nrs_policy_register() 1124 conf->nc_compat_svc_name != NULL)); ptlrpc_nrs_policy_register() 1125 LASSERT(ergo((conf->nc_flags & PTLRPC_NRS_FL_REG_EXTERN) != 0, ptlrpc_nrs_policy_register() 1126 conf->nc_owner != NULL)); ptlrpc_nrs_policy_register() 1128 conf->nc_name[NRS_POL_NAME_MAX - 1] = '\0'; ptlrpc_nrs_policy_register() 1139 if ((conf->nc_flags & PTLRPC_NRS_FL_REG_EXTERN) && ptlrpc_nrs_policy_register() 1140 (conf->nc_flags & (PTLRPC_NRS_FL_FALLBACK | ptlrpc_nrs_policy_register() 1143 conf->nc_name); ptlrpc_nrs_policy_register() 1149 if (nrs_policy_find_desc_locked(conf->nc_name) != NULL) { ptlrpc_nrs_policy_register() 1151 conf->nc_name); ptlrpc_nrs_policy_register() 1162 strncpy(desc->pd_name, conf->nc_name, NRS_POL_NAME_MAX); ptlrpc_nrs_policy_register() 1163 desc->pd_ops = conf->nc_ops; ptlrpc_nrs_policy_register() 1164 desc->pd_compat = conf->nc_compat; ptlrpc_nrs_policy_register() 1165 desc->pd_compat_svc_name = conf->nc_compat_svc_name; ptlrpc_nrs_policy_register() 1166 if ((conf->nc_flags & PTLRPC_NRS_FL_REG_EXTERN) != 0) ptlrpc_nrs_policy_register() 1167 desc->pd_owner = conf->nc_owner; ptlrpc_nrs_policy_register() 1168 desc->pd_flags = conf->nc_flags; ptlrpc_nrs_policy_register() 1179 if ((conf->nc_flags & PTLRPC_NRS_FL_REG_EXTERN) == 0) ptlrpc_nrs_policy_register()
|
H A D | service.c | 345 struct ptlrpc_service_conf *conf) ptlrpc_server_nthreads_check() 347 struct ptlrpc_service_thr_conf *tc = &conf->psc_thr; ptlrpc_server_nthreads_check() 357 * get the threads number they give it in conf::tc_nthrs_user ptlrpc_server_nthreads_check() 539 ptlrpc_register_service(struct ptlrpc_service_conf *conf, ptlrpc_register_service() argument 543 struct ptlrpc_service_cpt_conf *cconf = &conf->psc_cpt; ptlrpc_register_service() 553 LASSERT(conf->psc_buf.bc_nbufs > 0); ptlrpc_register_service() 554 LASSERT(conf->psc_buf.bc_buf_size >= ptlrpc_register_service() 555 conf->psc_buf.bc_req_max_size + SPTLRPC_MAX_PAYLOAD); ptlrpc_register_service() 556 LASSERT(conf->psc_thr.tc_ctx_tags != 0); ptlrpc_register_service() 562 if (!conf->psc_thr.tc_cpu_affinity) { ptlrpc_register_service() 574 conf->psc_name, cconf->cc_pattern); ptlrpc_register_service() 582 conf->psc_name, cconf->cc_pattern, rc); ptlrpc_register_service() 607 service->srv_name = conf->psc_name; ptlrpc_register_service() 608 service->srv_watchdog_factor = conf->psc_watchdog_factor; ptlrpc_register_service() 613 1 : conf->psc_buf.bc_nbufs; ptlrpc_register_service() 614 service->srv_max_req_size = conf->psc_buf.bc_req_max_size + ptlrpc_register_service() 616 service->srv_buf_size = conf->psc_buf.bc_buf_size; ptlrpc_register_service() 617 service->srv_rep_portal = conf->psc_buf.bc_rep_portal; ptlrpc_register_service() 618 service->srv_req_portal = conf->psc_buf.bc_req_portal; ptlrpc_register_service() 623 conf->psc_buf.bc_rep_max_size + SPTLRPC_MAX_PAYLOAD) ptlrpc_register_service() 626 service->srv_thread_name = conf->psc_thr.tc_thr_name; ptlrpc_register_service() 627 service->srv_ctx_tags = conf->psc_thr.tc_ctx_tags; ptlrpc_register_service() 629 service->srv_ops = conf->psc_ops; ptlrpc_register_service() 632 if (!conf->psc_thr.tc_cpu_affinity) ptlrpc_register_service() 650 ptlrpc_server_nthreads_check(service, conf); ptlrpc_register_service() 344 ptlrpc_server_nthreads_check(struct ptlrpc_service *svc, struct ptlrpc_service_conf *conf) ptlrpc_server_nthreads_check() argument
|
/linux-4.4.14/lib/ |
H A D | ts_bm.c | 62 static unsigned int bm_find(struct ts_config *conf, struct ts_state *state) bm_find() argument 64 struct ts_bm *bm = ts_config_priv(conf); bm_find() 68 const u8 icase = conf->flags & TS_IGNORECASE; bm_find() 71 text_len = conf->get_next_block(consumed, &text, conf, state); bm_find() 148 struct ts_config *conf; bm_init() local 154 conf = alloc_ts_config(priv_size, gfp_mask); bm_init() 155 if (IS_ERR(conf)) bm_init() 156 return conf; bm_init() 158 conf->flags = flags; bm_init() 159 bm = ts_config_priv(conf); bm_init() 169 return conf; bm_init() 172 static void *bm_get_pattern(struct ts_config *conf) bm_get_pattern() argument 174 struct ts_bm *bm = ts_config_priv(conf); bm_get_pattern() 178 static unsigned int bm_get_pattern_len(struct ts_config *conf) bm_get_pattern_len() argument 180 struct ts_bm *bm = ts_config_priv(conf); bm_get_pattern_len()
|
H A D | ts_kmp.c | 46 static unsigned int kmp_find(struct ts_config *conf, struct ts_state *state) kmp_find() argument 48 struct ts_kmp *kmp = ts_config_priv(conf); kmp_find() 51 const int icase = conf->flags & TS_IGNORECASE; kmp_find() 54 text_len = conf->get_next_block(consumed, &text, conf, state); kmp_find() 98 struct ts_config *conf; kmp_init() local 104 conf = alloc_ts_config(priv_size, gfp_mask); kmp_init() 105 if (IS_ERR(conf)) kmp_init() 106 return conf; kmp_init() 108 conf->flags = flags; kmp_init() 109 kmp = ts_config_priv(conf); kmp_init() 119 return conf; kmp_init() 122 static void *kmp_get_pattern(struct ts_config *conf) kmp_get_pattern() argument 124 struct ts_kmp *kmp = ts_config_priv(conf); kmp_get_pattern() 128 static unsigned int kmp_get_pattern_len(struct ts_config *conf) kmp_get_pattern_len() argument 130 struct ts_kmp *kmp = ts_config_priv(conf); kmp_get_pattern_len()
|
H A D | textsearch.c | 78 * struct ts_config *conf; 83 * conf = textsearch_prepare("kmp", pattern, strlen(pattern), 85 * if (IS_ERR(conf)) { 86 * err = PTR_ERR(conf); 90 * pos = textsearch_find_continuous(conf, &state, example, strlen(example)); 94 * textsearch_destroy(conf); 203 struct ts_config *conf, get_linear_data() 218 * @conf: search configuration 229 unsigned int textsearch_find_continuous(struct ts_config *conf, textsearch_find_continuous() argument 235 conf->get_next_block = get_linear_data; textsearch_find_continuous() 239 return textsearch_find(conf, state); textsearch_find_continuous() 265 struct ts_config *conf; textsearch_prepare() local 287 conf = ops->init(pattern, len, gfp_mask, flags); textsearch_prepare() 288 if (IS_ERR(conf)) { textsearch_prepare() 289 err = PTR_ERR(conf); textsearch_prepare() 293 conf->ops = ops; textsearch_prepare() 294 return conf; textsearch_prepare() 306 * @conf: search configuration 311 void textsearch_destroy(struct ts_config *conf) textsearch_destroy() argument 313 if (conf->ops) { textsearch_destroy() 314 if (conf->ops->destroy) textsearch_destroy() 315 conf->ops->destroy(conf); textsearch_destroy() 316 module_put(conf->ops->owner); textsearch_destroy() 319 kfree(conf); textsearch_destroy() 202 get_linear_data(unsigned int consumed, const u8 **dst, struct ts_config *conf, struct ts_state *state) get_linear_data() argument
|
H A D | ts_fsm.c | 138 static unsigned int fsm_find(struct ts_config *conf, struct ts_state *state) fsm_find() argument 140 struct ts_fsm *fsm = ts_config_priv(conf); fsm_find() 149 block_len = conf->get_next_block(consumed, &data, conf, state); }) fsm_find() 263 struct ts_config *conf; fsm_init() local 286 conf = alloc_ts_config(priv_size, gfp_mask); fsm_init() 287 if (IS_ERR(conf)) fsm_init() 288 return conf; fsm_init() 290 conf->flags = flags; fsm_init() 291 fsm = ts_config_priv(conf); fsm_init() 300 return conf; fsm_init() 306 static void *fsm_get_pattern(struct ts_config *conf) fsm_get_pattern() argument 308 struct ts_fsm *fsm = ts_config_priv(conf); fsm_get_pattern() 312 static unsigned int fsm_get_pattern_len(struct ts_config *conf) fsm_get_pattern_len() argument 314 struct ts_fsm *fsm = ts_config_priv(conf); fsm_get_pattern_len()
|
/linux-4.4.14/net/mac80211/ |
H A D | chan.c | 70 struct ieee80211_chanctx_conf *conf; ieee80211_vif_get_chanctx() local 72 conf = rcu_dereference_protected(sdata->vif.chanctx_conf, ieee80211_vif_get_chanctx() 74 if (!conf) ieee80211_vif_get_chanctx() 77 return container_of(conf, struct ieee80211_chanctx, conf); ieee80211_vif_get_chanctx() 209 * ctx->conf.min_def, we have to make sure to take ieee80211_get_sta_bw() 246 struct ieee80211_chanctx_conf *conf) ieee80211_get_chanctx_max_required_bw() 259 if (rcu_access_pointer(sdata->vif.chanctx_conf) != conf) ieee80211_get_chanctx_max_required_bw() 296 if (sdata && rcu_access_pointer(sdata->vif.chanctx_conf) == conf) ieee80211_get_chanctx_max_required_bw() 297 max_bw = max(max_bw, conf->def.width); ieee80211_get_chanctx_max_required_bw() 318 if (ctx->conf.def.width == NL80211_CHAN_WIDTH_5 || ieee80211_recalc_chanctx_min_def() 319 ctx->conf.def.width == NL80211_CHAN_WIDTH_10 || ieee80211_recalc_chanctx_min_def() 320 ctx->conf.radar_enabled) { ieee80211_recalc_chanctx_min_def() 321 ctx->conf.min_def = ctx->conf.def; ieee80211_recalc_chanctx_min_def() 325 max_bw = ieee80211_get_chanctx_max_required_bw(local, &ctx->conf); ieee80211_recalc_chanctx_min_def() 328 min_def = ctx->conf.def; ieee80211_recalc_chanctx_min_def() 332 if (cfg80211_chandef_identical(&ctx->conf.min_def, &min_def)) ieee80211_recalc_chanctx_min_def() 335 ctx->conf.min_def = min_def; ieee80211_recalc_chanctx_min_def() 346 if (cfg80211_chandef_identical(&ctx->conf.def, chandef)) ieee80211_change_chanctx() 349 WARN_ON(!cfg80211_chandef_compatible(&ctx->conf.def, chandef)); ieee80211_change_chanctx() 351 ctx->conf.def = *chandef; ieee80211_change_chanctx() 382 compat = cfg80211_chandef_compatible(&ctx->conf.def, chandef); ieee80211_find_chanctx() 421 struct ieee80211_chanctx_conf *conf = &ctx->conf; ieee80211_chanctx_radar_required() local 432 if (rcu_access_pointer(sdata->vif.chanctx_conf) != conf) ieee80211_chanctx_radar_required() 460 ctx->conf.def = *chandef; ieee80211_alloc_chanctx() 461 ctx->conf.rx_chains_static = 1; ieee80211_alloc_chanctx() 462 ctx->conf.rx_chains_dynamic = 1; ieee80211_alloc_chanctx() 464 ctx->conf.radar_enabled = false; ieee80211_alloc_chanctx() 480 local->hw.conf.radar_enabled = ctx->conf.radar_enabled; ieee80211_add_chanctx() 488 local->_oper_chandef = ctx->conf.def; ieee80211_add_chanctx() 540 WARN_ON(local->hw.conf.radar_enabled && ieee80211_del_chanctx() 543 local->hw.conf.radar_enabled = false; ieee80211_del_chanctx() 568 struct ieee80211_chanctx_conf *conf = &ctx->conf; ieee80211_recalc_chanctx_chantype() local 580 if (rcu_access_pointer(sdata->vif.chanctx_conf) != conf) ieee80211_recalc_chanctx_chantype() 626 if (radar_enabled == chanctx->conf.radar_enabled) ieee80211_recalc_radar_chanctx() 629 chanctx->conf.radar_enabled = radar_enabled; ieee80211_recalc_radar_chanctx() 632 local->hw.conf.radar_enabled = chanctx->conf.radar_enabled; ieee80211_recalc_radar_chanctx() 643 struct ieee80211_chanctx_conf *conf; ieee80211_assign_vif_chanctx() local 647 conf = rcu_dereference_protected(sdata->vif.chanctx_conf, ieee80211_assign_vif_chanctx() 650 if (conf) { ieee80211_assign_vif_chanctx() 651 curr_ctx = container_of(conf, struct ieee80211_chanctx, conf); ieee80211_assign_vif_chanctx() 654 conf = NULL; ieee80211_assign_vif_chanctx() 663 conf = &new_ctx->conf; ieee80211_assign_vif_chanctx() 669 rcu_assign_pointer(sdata->vif.chanctx_conf, conf); ieee80211_assign_vif_chanctx() 671 sdata->vif.bss_conf.idle = !conf; ieee80211_assign_vif_chanctx() 714 &chanctx->conf) ieee80211_recalc_smps_chanctx() 762 rcu_access_pointer(sdata->vif.chanctx_conf) == &chanctx->conf) ieee80211_recalc_smps_chanctx() 777 if (rx_chains_static == chanctx->conf.rx_chains_static && ieee80211_recalc_smps_chanctx() 778 rx_chains_dynamic == chanctx->conf.rx_chains_dynamic) ieee80211_recalc_smps_chanctx() 781 chanctx->conf.rx_chains_static = rx_chains_static; ieee80211_recalc_smps_chanctx() 782 chanctx->conf.rx_chains_dynamic = rx_chains_dynamic; ieee80211_recalc_smps_chanctx() 792 struct ieee80211_chanctx_conf *conf; __ieee80211_vif_copy_chanctx_to_vlans() local 799 /* Check that conf exists, even when clearing this function __ieee80211_vif_copy_chanctx_to_vlans() 805 conf = rcu_dereference_protected(sdata->vif.chanctx_conf, __ieee80211_vif_copy_chanctx_to_vlans() 807 WARN_ON(!conf); __ieee80211_vif_copy_chanctx_to_vlans() 810 conf = NULL; __ieee80211_vif_copy_chanctx_to_vlans() 813 rcu_assign_pointer(vlan->vif.chanctx_conf, conf); __ieee80211_vif_copy_chanctx_to_vlans() 1039 vif_chsw[0].old_ctx = &old_ctx->conf; ieee80211_vif_use_reserved_reassign() 1040 vif_chsw[0].new_ctx = &new_ctx->conf; ieee80211_vif_use_reserved_reassign() 1055 rcu_assign_pointer(sdata->vif.chanctx_conf, &new_ctx->conf); ieee80211_vif_use_reserved_reassign() 1166 local->hw.conf.radar_enabled = new_ctx->conf.radar_enabled; ieee80211_chsw_switch_hwconf() 1206 vif_chsw[i].old_ctx = &old_ctx->conf; ieee80211_chsw_switch_vifs() 1207 vif_chsw[i].new_ctx = &ctx->conf; ieee80211_chsw_switch_vifs() 1326 ctx->conf.radar_enabled = false; ieee80211_vif_use_reserved_switch() 1345 ctx->conf.radar_enabled = true; ieee80211_vif_use_reserved_switch() 1404 rcu_assign_pointer(sdata->vif.chanctx_conf, &ctx->conf); ieee80211_vif_use_reserved_switch() 1517 struct ieee80211_chanctx_conf *conf; __ieee80211_vif_release_channel() local 1523 conf = rcu_dereference_protected(sdata->vif.chanctx_conf, __ieee80211_vif_release_channel() 1525 if (!conf) __ieee80211_vif_release_channel() 1528 ctx = container_of(conf, struct ieee80211_chanctx, conf); __ieee80211_vif_release_channel() 1680 struct ieee80211_chanctx_conf *conf; ieee80211_vif_change_bandwidth() local 1701 conf = rcu_dereference_protected(sdata->vif.chanctx_conf, ieee80211_vif_change_bandwidth() 1703 if (!conf) { ieee80211_vif_change_bandwidth() 1708 ctx = container_of(conf, struct ieee80211_chanctx, conf); ieee80211_vif_change_bandwidth() 1710 compat = cfg80211_chandef_compatible(&conf->def, chandef); ieee80211_vif_change_bandwidth() 1762 struct ieee80211_chanctx_conf *conf; ieee80211_vif_vlan_copy_chanctx() local 1771 conf = rcu_dereference_protected(ap->vif.chanctx_conf, ieee80211_vif_vlan_copy_chanctx() 1773 rcu_assign_pointer(sdata->vif.chanctx_conf, conf); ieee80211_vif_vlan_copy_chanctx() 1790 iter(hw, &ctx->conf, iter_data); ieee80211_iter_chan_contexts_atomic() 245 ieee80211_get_chanctx_max_required_bw(struct ieee80211_local *local, struct ieee80211_chanctx_conf *conf) ieee80211_get_chanctx_max_required_bw() argument
|
H A D | key.c | 156 if (sta && !(key->conf.flags & IEEE80211_KEY_FLAG_PAIRWISE) && ieee80211_key_enable_hw_accel() 169 if (!(key->conf.flags & IEEE80211_KEY_FLAG_PAIRWISE)) ieee80211_key_enable_hw_accel() 174 sta ? &sta->sta : NULL, &key->conf); ieee80211_key_enable_hw_accel() 179 if (!((key->conf.flags & IEEE80211_KEY_FLAG_GENERATE_MMIC) || ieee80211_key_enable_hw_accel() 180 (key->conf.flags & IEEE80211_KEY_FLAG_RESERVE_TAILROOM))) ieee80211_key_enable_hw_accel() 183 WARN_ON((key->conf.flags & IEEE80211_KEY_FLAG_PUT_IV_SPACE) && ieee80211_key_enable_hw_accel() 184 (key->conf.flags & IEEE80211_KEY_FLAG_GENERATE_IV)); ieee80211_key_enable_hw_accel() 192 key->conf.keyidx, ieee80211_key_enable_hw_accel() 196 switch (key->conf.cipher) { ieee80211_key_enable_hw_accel() 238 if (!((key->conf.flags & IEEE80211_KEY_FLAG_GENERATE_MMIC) || ieee80211_key_disable_hw_accel() 239 (key->conf.flags & IEEE80211_KEY_FLAG_RESERVE_TAILROOM))) ieee80211_key_disable_hw_accel() 243 sta ? &sta->sta : NULL, &key->conf); ieee80211_key_disable_hw_accel() 248 key->conf.keyidx, ieee80211_key_disable_hw_accel() 325 WARN_ON(new && old && new->conf.keyidx != old->conf.keyidx); ieee80211_key_replace() 328 idx = old->conf.keyidx; ieee80211_key_replace() 330 idx = new->conf.keyidx; ieee80211_key_replace() 360 __ieee80211_set_default_key(sdata, new->conf.keyidx, ieee80211_key_replace() 363 __ieee80211_set_default_key(sdata, new->conf.keyidx, ieee80211_key_replace() 367 new->conf.keyidx); ieee80211_key_replace() 394 key->conf.flags = 0; ieee80211_key_alloc() 397 key->conf.cipher = cipher; ieee80211_key_alloc() 398 key->conf.keyidx = idx; ieee80211_key_alloc() 399 key->conf.keylen = key_len; ieee80211_key_alloc() 403 key->conf.iv_len = IEEE80211_WEP_IV_LEN; ieee80211_key_alloc() 404 key->conf.icv_len = IEEE80211_WEP_ICV_LEN; ieee80211_key_alloc() 407 key->conf.iv_len = IEEE80211_TKIP_IV_LEN; ieee80211_key_alloc() 408 key->conf.icv_len = IEEE80211_TKIP_ICV_LEN; ieee80211_key_alloc() 420 key->conf.iv_len = IEEE80211_CCMP_HDR_LEN; ieee80211_key_alloc() 421 key->conf.icv_len = IEEE80211_CCMP_MIC_LEN; ieee80211_key_alloc() 441 key->conf.iv_len = IEEE80211_CCMP_256_HDR_LEN; ieee80211_key_alloc() 442 key->conf.icv_len = IEEE80211_CCMP_256_MIC_LEN; ieee80211_key_alloc() 460 key->conf.iv_len = 0; ieee80211_key_alloc() 462 key->conf.icv_len = sizeof(struct ieee80211_mmie); ieee80211_key_alloc() 464 key->conf.icv_len = sizeof(struct ieee80211_mmie_16); ieee80211_key_alloc() 483 key->conf.iv_len = 0; ieee80211_key_alloc() 484 key->conf.icv_len = sizeof(struct ieee80211_mmie_16); ieee80211_key_alloc() 502 key->conf.iv_len = IEEE80211_GCMP_HDR_LEN; ieee80211_key_alloc() 503 key->conf.icv_len = IEEE80211_GCMP_MIC_LEN; ieee80211_key_alloc() 526 key->conf.iv_len = cs->hdr_len; ieee80211_key_alloc() 527 key->conf.icv_len = cs->mic_len; ieee80211_key_alloc() 535 memcpy(key->conf.key, key_data, key_len); ieee80211_key_alloc() 543 switch (key->conf.cipher) { ieee80211_key_free_common() 618 pairwise = key->conf.flags & IEEE80211_KEY_FLAG_PAIRWISE; ieee80211_key_link() 619 idx = key->conf.keyidx; ieee80211_key_link() 663 key->conf.flags & IEEE80211_KEY_FLAG_PAIRWISE, ieee80211_key_free() 734 &key->conf, iter_data); ieee80211_iter_keys() 741 &key->conf, iter_data); ieee80211_iter_keys() 760 key->conf.flags & IEEE80211_KEY_FLAG_PAIRWISE, ieee80211_free_keys_iface() 828 key->conf.flags & IEEE80211_KEY_FLAG_PAIRWISE, ieee80211_free_sta_keys() 838 key->conf.flags & IEEE80211_KEY_FLAG_PAIRWISE, ieee80211_free_sta_keys() 896 key = container_of(keyconf, struct ieee80211_key, conf); ieee80211_get_key_tx_seq() 898 switch (key->conf.cipher) { ieee80211_get_key_tx_seq() 917 pn64 = atomic64_read(&key->conf.tx_pn); ieee80211_get_key_tx_seq() 937 key = container_of(keyconf, struct ieee80211_key, conf); ieee80211_get_key_rx_seq() 939 switch (key->conf.cipher) { ieee80211_get_key_rx_seq() 990 key = container_of(keyconf, struct ieee80211_key, conf); ieee80211_set_key_tx_seq() 992 switch (key->conf.cipher) { ieee80211_set_key_tx_seq() 1017 atomic64_set(&key->conf.tx_pn, pn64); ieee80211_set_key_tx_seq() 1032 key = container_of(keyconf, struct ieee80211_key, conf); ieee80211_set_key_rx_seq() 1034 switch (key->conf.cipher) { ieee80211_set_key_rx_seq() 1086 key = container_of(keyconf, struct ieee80211_key, conf); ieee80211_remove_key() 1097 if (!((key->conf.flags & IEEE80211_KEY_FLAG_GENERATE_MMIC) || ieee80211_remove_key() 1098 (key->conf.flags & IEEE80211_KEY_FLAG_RESERVE_TAILROOM))) ieee80211_remove_key() 1128 key->conf.flags |= IEEE80211_KEY_FLAG_RX_MGMT; ieee80211_gtk_rekey_add() 1134 return &key->conf; ieee80211_gtk_rekey_add()
|
H A D | debugfs_key.c | 51 KEY_READ(conf_##name, conf.name, format_string) 78 u32 c = key->conf.cipher; key_algorithm_read() 93 switch (key->conf.cipher) { key_tx_spec_write() 114 atomic64_set(&key->conf.tx_pn, pn); key_tx_spec_write() 129 switch (key->conf.cipher) { key_tx_spec_read() 147 pn = atomic64_read(&key->conf.tx_pn); key_tx_spec_read() 167 switch (key->conf.cipher) { key_rx_spec_read() 234 switch (key->conf.cipher) { key_replays_read() 267 switch (key->conf.cipher) { key_icverrors_read() 292 if (key->conf.cipher != WLAN_CIPHER_SUITE_TKIP) key_mic_failures_read() 305 int i, bufsize = 2 * key->conf.keylen + 2; key_key_read() 313 for (i = 0; i < key->conf.keylen; i++) key_key_read() 314 p += scnprintf(p, bufsize + buf - p, "%02x", key->conf.key[i]); key_key_read()
|
H A D | tkip.c | 150 *pos++ = (key->conf.keyidx << 6) | (1 << 5) /* Ext IV */; ieee80211_tkip_add_iv() 159 const u8 *tk = &key->conf.key[NL80211_TKIP_DATA_OFFSET_ENCR_KEY]; ieee80211_compute_tkip_p1k() 178 container_of(keyconf, struct ieee80211_key, conf); ieee80211_get_tkip_p1k_iv() 203 container_of(keyconf, struct ieee80211_key, conf); ieee80211_get_tkip_p2k() 204 const u8 *tk = &key->conf.key[NL80211_TKIP_DATA_OFFSET_ENCR_KEY]; ieee80211_get_tkip_p2k() 232 ieee80211_get_tkip_p2k(&key->conf, skb, rc4key); ieee80211_tkip_encrypt_data() 252 const u8 *tk = &key->conf.key[NL80211_TKIP_DATA_OFFSET_ENCR_KEY]; ieee80211_tkip_decrypt_data() 265 if ((keyid >> 6) != key->conf.keyidx) ieee80211_tkip_decrypt_data() 293 drv_update_tkip_key(key->local, sdata, &key->conf, key->sta, ieee80211_tkip_decrypt_data()
|
H A D | wep.c | 248 if (!key || keyidx != key->conf.keyidx) ieee80211_wep_decrypt() 251 klen = 3 + key->conf.keylen; ieee80211_wep_decrypt() 257 memcpy(rc4key + 3, key->conf.key, key->conf.keylen); ieee80211_wep_decrypt() 309 if (ieee80211_wep_encrypt(tx->local, skb, tx->key->conf.key, wep_encrypt_skb() 310 tx->key->conf.keylen, wep_encrypt_skb() 311 tx->key->conf.keyidx)) wep_encrypt_skb() 316 tx->key->conf.keylen, wep_encrypt_skb() 317 tx->key->conf.keyidx)) wep_encrypt_skb()
|
H A D | cfg.c | 188 key->conf.flags |= IEEE80211_KEY_FLAG_PAIRWISE; ieee80211_add_key() 217 key->conf.flags |= IEEE80211_KEY_FLAG_RX_MGMT; ieee80211_add_key() 223 key->conf.flags |= IEEE80211_KEY_FLAG_RX_MGMT; ieee80211_add_key() 231 key->conf.flags |= IEEE80211_KEY_FLAG_RX_MGMT; ieee80211_add_key() 338 params.cipher = key->conf.cipher; ieee80211_get_key() 340 switch (key->conf.cipher) { ieee80211_get_key() 346 !(key->conf.flags & IEEE80211_KEY_FLAG_GENERATE_IV)) { ieee80211_get_key() 377 !(key->conf.flags & IEEE80211_KEY_FLAG_GENERATE_IV)) { ieee80211_get_key() 381 pn64 = atomic64_read(&key->conf.tx_pn); ieee80211_get_key() 395 if (WARN_ON(key->conf.flags & IEEE80211_KEY_FLAG_GENERATE_IV)) ieee80211_get_key() 403 params.key = key->conf.key; ieee80211_get_key() 404 params.key_len = key->conf.keylen; ieee80211_get_key() 1607 struct mesh_config *conf) ieee80211_get_mesh_config() 1612 memcpy(conf, &(sdata->u.mesh.mshcfg), sizeof(struct mesh_config)); ieee80211_get_mesh_config() 1672 struct mesh_config *conf; ieee80211_update_mesh_config() local 1680 conf = &(sdata->u.mesh.mshcfg); ieee80211_update_mesh_config() 1682 conf->dot11MeshRetryTimeout = nconf->dot11MeshRetryTimeout; ieee80211_update_mesh_config() 1684 conf->dot11MeshConfirmTimeout = nconf->dot11MeshConfirmTimeout; ieee80211_update_mesh_config() 1686 conf->dot11MeshHoldingTimeout = nconf->dot11MeshHoldingTimeout; ieee80211_update_mesh_config() 1688 conf->dot11MeshMaxPeerLinks = nconf->dot11MeshMaxPeerLinks; ieee80211_update_mesh_config() 1690 conf->dot11MeshMaxRetries = nconf->dot11MeshMaxRetries; ieee80211_update_mesh_config() 1692 conf->dot11MeshTTL = nconf->dot11MeshTTL; ieee80211_update_mesh_config() 1694 conf->element_ttl = nconf->element_ttl; ieee80211_update_mesh_config() 1698 conf->auto_open_plinks = nconf->auto_open_plinks; ieee80211_update_mesh_config() 1701 conf->dot11MeshNbrOffsetMaxNeighbor = ieee80211_update_mesh_config() 1704 conf->dot11MeshHWMPmaxPREQretries = ieee80211_update_mesh_config() 1707 conf->path_refresh_time = nconf->path_refresh_time; ieee80211_update_mesh_config() 1709 conf->min_discovery_timeout = nconf->min_discovery_timeout; ieee80211_update_mesh_config() 1711 conf->dot11MeshHWMPactivePathTimeout = ieee80211_update_mesh_config() 1714 conf->dot11MeshHWMPpreqMinInterval = ieee80211_update_mesh_config() 1717 conf->dot11MeshHWMPperrMinInterval = ieee80211_update_mesh_config() 1721 conf->dot11MeshHWMPnetDiameterTraversalTime = ieee80211_update_mesh_config() 1724 conf->dot11MeshHWMPRootMode = nconf->dot11MeshHWMPRootMode; ieee80211_update_mesh_config() 1732 !(conf->dot11MeshHWMPRootMode > IEEE80211_ROOTMODE_ROOT)) { ieee80211_update_mesh_config() 1733 conf->dot11MeshHWMPRootMode = IEEE80211_PROACTIVE_RANN; ieee80211_update_mesh_config() 1736 conf->dot11MeshGateAnnouncementProtocol = ieee80211_update_mesh_config() 1740 conf->dot11MeshHWMPRannInterval = ieee80211_update_mesh_config() 1743 conf->dot11MeshForwarding = nconf->dot11MeshForwarding; ieee80211_update_mesh_config() 1750 conf->rssi_threshold = nconf->rssi_threshold; ieee80211_update_mesh_config() 1753 conf->ht_opmode = nconf->ht_opmode; ieee80211_update_mesh_config() 1758 conf->dot11MeshHWMPactivePathToRootTimeout = ieee80211_update_mesh_config() 1761 conf->dot11MeshHWMProotInterval = ieee80211_update_mesh_config() 1764 conf->dot11MeshHWMPconfirmationInterval = ieee80211_update_mesh_config() 1767 conf->power_mode = nconf->power_mode; ieee80211_update_mesh_config() 1771 conf->dot11MeshAwakeWindowDuration = ieee80211_update_mesh_config() 1774 conf->plink_timeout = nconf->plink_timeout; ieee80211_update_mesh_config() 1780 const struct mesh_config *conf, ieee80211_join_mesh() 1787 memcpy(&ifmsh->mshcfg, conf, sizeof(struct mesh_config)); ieee80211_join_mesh() 2115 local->hw.conf.short_frame_max_tx_count = wiphy->retry_short; ieee80211_set_wiphy_params() 2120 local->hw.conf.long_frame_max_tx_count = wiphy->retry_long; ieee80211_set_wiphy_params() 2202 *dbm = local->hw.conf.power_level; ieee80211_get_tx_power() 3166 struct ieee80211_chanctx_conf *conf; __ieee80211_channel_switch() local 3189 conf = rcu_dereference_protected(sdata->vif.chanctx_conf, __ieee80211_channel_switch() 3191 if (!conf) { __ieee80211_channel_switch() 3196 chanctx = container_of(conf, struct ieee80211_chanctx, conf); __ieee80211_channel_switch() 1605 ieee80211_get_mesh_config(struct wiphy *wiphy, struct net_device *dev, struct mesh_config *conf) ieee80211_get_mesh_config() argument 1779 ieee80211_join_mesh(struct wiphy *wiphy, struct net_device *dev, const struct mesh_config *conf, const struct mesh_setup *setup) ieee80211_join_mesh() argument
|
H A D | wpa.c | 41 if (!tx->key || tx->key->conf.cipher != WLAN_CIPHER_SUITE_TKIP || ieee80211_tx_h_michael_mic_add() 60 !(tx->key->conf.flags & IEEE80211_KEY_FLAG_GENERATE_MMIC)) { ieee80211_tx_h_michael_mic_add() 76 key = &tx->key->conf.key[NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY]; ieee80211_tx_h_michael_mic_add() 115 rx->key->conf.cipher == WLAN_CIPHER_SUITE_TKIP) ieee80211_rx_h_michael_mic_verify() 126 if (!rx->key || rx->key->conf.cipher != WLAN_CIPHER_SUITE_TKIP || ieee80211_rx_h_michael_mic_verify() 130 if (rx->sdata->vif.type == NL80211_IFTYPE_AP && rx->key->conf.keyidx) { ieee80211_rx_h_michael_mic_verify() 153 key = &rx->key->conf.key[NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY]; ieee80211_rx_h_michael_mic_verify() 181 rx->key ? rx->key->conf.keyidx : -1, ieee80211_rx_h_michael_mic_verify() 450 pn64 = atomic64_inc_return(&key->conf.tx_pn); ccmp_encrypt_skb() 459 ccmp_pn2hdr(pos, pn, key->conf.keyidx); ccmp_encrypt_skb() 679 pn64 = atomic64_inc_return(&key->conf.tx_pn); gcmp_encrypt_skb() 688 gcmp_pn2hdr(pos, pn, key->conf.keyidx); gcmp_encrypt_skb() 794 u8 *pos, iv_len = key->conf.iv_len; ieee80211_crypto_cs_encrypt() 950 mmie->key_id = cpu_to_le16(key->conf.keyidx); ieee80211_crypto_aes_cmac_encrypt() 953 pn64 = atomic64_inc_return(&key->conf.tx_pn); ieee80211_crypto_aes_cmac_encrypt() 994 mmie->key_id = cpu_to_le16(key->conf.keyidx); ieee80211_crypto_aes_cmac_256_encrypt() 997 pn64 = atomic64_inc_return(&key->conf.tx_pn); ieee80211_crypto_aes_cmac_256_encrypt() 1139 mmie->key_id = cpu_to_le16(key->conf.keyidx); ieee80211_crypto_aes_gmac_encrypt() 1142 pn64 = atomic64_inc_return(&key->conf.tx_pn); ieee80211_crypto_aes_gmac_encrypt()
|
H A D | main.c | 99 offchannel_flag = local->hw.conf.flags & IEEE80211_CONF_OFFCHANNEL; ieee80211_hw_conf_chan() 116 local->hw.conf.flags |= IEEE80211_CONF_OFFCHANNEL; ieee80211_hw_conf_chan() 118 local->hw.conf.flags &= ~IEEE80211_CONF_OFFCHANNEL; ieee80211_hw_conf_chan() 120 offchannel_flag ^= local->hw.conf.flags & IEEE80211_CONF_OFFCHANNEL; ieee80211_hw_conf_chan() 123 !cfg80211_chandef_identical(&local->hw.conf.chandef, ieee80211_hw_conf_chan() 125 local->hw.conf.chandef = chandef; ieee80211_hw_conf_chan() 129 if (!conf_is_ht(&local->hw.conf)) { ieee80211_hw_conf_chan() 135 local->hw.conf.smps_mode = IEEE80211_SMPS_STATIC; ieee80211_hw_conf_chan() 136 } else if (local->hw.conf.smps_mode != local->smps_mode) { ieee80211_hw_conf_chan() 137 local->hw.conf.smps_mode = local->smps_mode; ieee80211_hw_conf_chan() 153 if (local->hw.conf.power_level != power) { ieee80211_hw_conf_chan() 155 local->hw.conf.power_level = power; ieee80211_hw_conf_chan() 575 local->hw.conf.long_frame_max_tx_count = wiphy->retry_long; ieee80211_alloc_hw_nm() 576 local->hw.conf.short_frame_max_tx_count = wiphy->retry_short; ieee80211_alloc_hw_nm() 862 * that hw.conf.channel is assigned ieee80211_register_hw() 881 local->hw.conf.chandef = dflt_chandef; ieee80211_register_hw() 1045 local->hw.conf.listen_interval = local->hw.max_listen_interval; ieee80211_register_hw() 1057 local->hw.conf.flags = IEEE80211_CONF_IDLE; ieee80211_register_hw()
|
H A D | driver-ops.c | 248 conf); drv_switch_vif_chanctx() 252 conf); drv_switch_vif_chanctx() 271 conf); drv_switch_vif_chanctx() 275 conf); drv_switch_vif_chanctx()
|
H A D | pm.c | 102 !(local->hw.conf.flags & IEEE80211_CONF_PS)) { __ieee80211_suspend() 103 local->hw.conf.flags |= IEEE80211_CONF_PS; __ieee80211_suspend()
|
H A D | offchannel.c | 42 if (local->hw.conf.flags & IEEE80211_CONF_PS) { ieee80211_offchannel_ps_enable() 44 local->hw.conf.flags &= ~IEEE80211_CONF_PS; ieee80211_offchannel_ps_enable() 87 local->hw.conf.flags |= IEEE80211_CONF_PS; ieee80211_offchannel_ps_disable() 89 } else if (local->hw.conf.dynamic_ps_timeout > 0) { ieee80211_offchannel_ps_disable() 98 msecs_to_jiffies(local->hw.conf.dynamic_ps_timeout)); ieee80211_offchannel_ps_disable()
|
H A D | trace.h | 64 #define CHANCTX_ASSIGN CHANDEF_ASSIGN(&ctx->conf.def) \ 65 MIN_CHANDEF_ASSIGN(&ctx->conf.min_def) \ 66 __entry->rx_chains_static = ctx->conf.rx_chains_static; \ 67 __entry->rx_chains_dynamic = ctx->conf.rx_chains_dynamic 338 __entry->flags = local->hw.conf.flags; 339 __entry->power_level = local->hw.conf.power_level; 340 __entry->dynamic_ps_timeout = local->hw.conf.dynamic_ps_timeout; 341 __entry->listen_interval = local->hw.conf.listen_interval; 343 local->hw.conf.long_frame_max_tx_count; 345 local->hw.conf.short_frame_max_tx_count; 346 CHANDEF_ASSIGN(&local->hw.conf.chandef) 347 __entry->smps = local->hw.conf.smps_mode; 583 struct ieee80211_key_conf *conf, 586 TP_ARGS(local, sdata, conf, sta, iv32),
|
H A D | driver-ops.h | 240 struct ieee80211_key_conf *conf, drv_update_tkip_key() 253 trace_drv_update_tkip_key(local, sdata, conf, ista, iv32); drv_update_tkip_key() 255 local->ops->update_tkip_key(&local->hw, &sdata->vif, conf, drv_update_tkip_key() 369 local->ops->get_key_seq(&local->hw, &key->conf, seq); drv_get_key_seq() 370 trace_drv_get_key_seq(local, &key->conf); drv_get_key_seq() 850 ret = local->ops->add_chanctx(&local->hw, &ctx->conf); drv_add_chanctx() 868 local->ops->remove_chanctx(&local->hw, &ctx->conf); drv_remove_chanctx() 882 local->ops->change_chanctx(&local->hw, &ctx->conf, changed); drv_change_chanctx() 901 &ctx->conf); drv_assign_vif_chanctx() 922 &ctx->conf); drv_unassign_vif_chanctx() 238 drv_update_tkip_key(struct ieee80211_local *local, struct ieee80211_sub_if_data *sdata, struct ieee80211_key_conf *conf, struct sta_info *sta, u32 iv32, u16 *phase1key) drv_update_tkip_key() argument
|
/linux-4.4.14/drivers/clk/meson/ |
H A D | clk-pll.c | 50 struct pll_conf *conf; member in struct:meson_clk_pll 66 p = &pll->conf->n; meson_clk_pll_recalc_rate() 70 p = &pll->conf->m; meson_clk_pll_recalc_rate() 74 p = &pll->conf->od; meson_clk_pll_recalc_rate() 87 const struct pll_rate_table *rate_table = pll->conf->rate_table; meson_clk_pll_round_rate() 102 const struct pll_rate_table *rate_table = pll->conf->rate_table; meson_clk_get_pll_settings() 148 p = &pll->conf->n; meson_clk_pll_set_rate() 155 p = &pll->conf->m; meson_clk_pll_set_rate() 160 p = &pll->conf->od; meson_clk_pll_set_rate() 165 p = &pll->conf->n; meson_clk_pll_set_rate() 200 clk_pll->conf = clk_conf->conf.pll; meson_clk_register_pll() 210 if (clk_pll->conf->rate_table) { meson_clk_register_pll() 213 for (len = 0; clk_pll->conf->rate_table[len].rate != 0; ) meson_clk_register_pll()
|
H A D | clkc.h | 112 } conf; member in struct:clk_conf 122 .conf.fixed_rate.rate_parm = _c, \ 131 .conf.fixed_rate.rate = (_r), \ 143 .conf.pll = (_c), \ 153 .conf.fixed_fact.div = (_d), \ 164 .conf.div_table = (_dt), \ 176 .conf.composite = (_c), \
|
H A D | clkc.c | 60 composite_conf = clk_conf->conf.composite; meson_clk_register_composite() 138 fixed_fact_conf = &clk_conf->conf.fixed_fact; meson_clk_register_fixed_factor() 140 mult = clk_conf->conf.fixed_fact.mult; meson_clk_register_fixed_factor() 141 div = clk_conf->conf.fixed_fact.div; meson_clk_register_fixed_factor() 180 fixed_rate_conf = &clk_conf->conf.fixed_rate; meson_clk_register_fixed_rate()
|
/linux-4.4.14/drivers/isdn/mISDN/ |
H A D | dsp_cmx.c | 161 struct dsp_conf *conf; dsp_cmx_debug() local 170 if (odsp->conf) dsp_cmx_debug() 171 printk(" (Conf %d)", odsp->conf->id); dsp_cmx_debug() 177 list_for_each_entry(conf, &conf_ilist, list) { dsp_cmx_debug() 178 printk(KERN_DEBUG "* Conf %d (%p)\n", conf->id, conf); dsp_cmx_debug() 179 list_for_each_entry(member, &conf->mlist, list) { dsp_cmx_debug() 200 struct dsp_conf *conf; dsp_cmx_search_conf() local 208 list_for_each_entry(conf, &conf_ilist, list) dsp_cmx_search_conf() 209 if (conf->id == id) dsp_cmx_search_conf() 210 return conf; dsp_cmx_search_conf() 220 dsp_cmx_add_conf_member(struct dsp *dsp, struct dsp_conf *conf) dsp_cmx_add_conf_member() argument 224 if (!conf || !dsp) { dsp_cmx_add_conf_member() 225 printk(KERN_WARNING "%s: conf or dsp is 0.\n", __func__); dsp_cmx_add_conf_member() 229 printk(KERN_WARNING "%s: dsp is already member in a conf.\n", dsp_cmx_add_conf_member() 234 if (dsp->conf) { dsp_cmx_add_conf_member() 235 printk(KERN_WARNING "%s: dsp is already in a conf.\n", dsp_cmx_add_conf_member() 252 list_add_tail(&member->list, &conf->mlist); dsp_cmx_add_conf_member() 254 dsp->conf = conf; dsp_cmx_add_conf_member() 275 if (!dsp->conf) { dsp_cmx_del_conf_member() 276 printk(KERN_WARNING "%s: dsp is not in a conf.\n", dsp_cmx_del_conf_member() 281 if (list_empty(&dsp->conf->mlist)) { dsp_cmx_del_conf_member() 282 printk(KERN_WARNING "%s: dsp has linked an empty conf.\n", dsp_cmx_del_conf_member() 287 /* find us in conf */ dsp_cmx_del_conf_member() 288 list_for_each_entry(member, &dsp->conf->mlist, list) { dsp_cmx_del_conf_member() 291 dsp->conf = NULL; dsp_cmx_del_conf_member() 311 struct dsp_conf *conf; dsp_cmx_new_conf() local 319 conf = kzalloc(sizeof(struct dsp_conf), GFP_ATOMIC); dsp_cmx_new_conf() 320 if (!conf) { dsp_cmx_new_conf() 324 INIT_LIST_HEAD(&conf->mlist); dsp_cmx_new_conf() 325 conf->id = id; dsp_cmx_new_conf() 327 list_add_tail(&conf->list, &conf_ilist); dsp_cmx_new_conf() 329 return conf; dsp_cmx_new_conf() 337 dsp_cmx_del_conf(struct dsp_conf *conf) dsp_cmx_del_conf() argument 339 if (!conf) { dsp_cmx_del_conf() 340 printk(KERN_WARNING "%s: conf is null.\n", dsp_cmx_del_conf() 345 if (!list_empty(&conf->mlist)) { dsp_cmx_del_conf() 346 printk(KERN_WARNING "%s: conf not empty.\n", dsp_cmx_del_conf() 350 list_del(&conf->list); dsp_cmx_del_conf() 351 kfree(conf); dsp_cmx_del_conf() 379 * if only dsp instance is given, the instance is not associated with a conf 384 dsp_cmx_hardware(struct dsp_conf *conf, struct dsp *dsp) dsp_cmx_hardware() argument 394 /* dsp gets updated (no conf) */ dsp_cmx_hardware() 395 if (!conf) { dsp_cmx_hardware() 406 "%s removing %s from HFC conf %d " dsp_cmx_hardware() 503 /* conf gets updated (all members) */ dsp_cmx_hardware() 506 __func__, conf->id); dsp_cmx_hardware() 508 if (list_empty(&conf->mlist)) { dsp_cmx_hardware() 513 member = list_entry(conf->mlist.next, struct dsp_conf_member, list); dsp_cmx_hardware() 517 list_for_each_entry(member, &conf->mlist, list) { dsp_cmx_hardware() 522 "%s dsp %s cannot form a conf, because " dsp_cmx_hardware() 526 list_for_each_entry(member, &conf->mlist, list) { dsp_cmx_hardware() 533 "conf %d because not " dsp_cmx_hardware() 564 conf->hardware = 0; dsp_cmx_hardware() 565 conf->software = 1; dsp_cmx_hardware() 572 "%s dsp %s cannot form a conf, because " dsp_cmx_hardware() 581 "%s dsp %s cannot form a conf, because " dsp_cmx_hardware() 590 "%s dsp %s cannot form a conf, because " dsp_cmx_hardware() 598 "%s dsp %s cannot form a conf, because " dsp_cmx_hardware() 615 "%s dsp %s cannot form a conf, because " dsp_cmx_hardware() 624 "conf, because encryption is enabled\n", dsp_cmx_hardware() 632 "%s dsp %s cannot form a conf, because " dsp_cmx_hardware() 641 "%s dsp %s cannot form a conf, because " dsp_cmx_hardware() 668 "%s conf %d cannot form a HW conference, " dsp_cmx_hardware() 669 "because dsp is alone\n", __func__, conf->id); dsp_cmx_hardware() 670 conf->hardware = 0; dsp_cmx_hardware() 671 conf->software = 0; dsp_cmx_hardware() 672 member = list_entry(conf->mlist.next, struct dsp_conf_member, dsp_cmx_hardware() 686 member = list_entry(conf->mlist.next, struct dsp_conf_member, dsp_cmx_hardware() 694 "%s removing %s from HFC conf %d because " dsp_cmx_hardware() 705 "%s removing %s from HFC conf %d because " dsp_cmx_hardware() 745 conf->hardware = 1; dsp_cmx_hardware() 746 conf->software = tx_data; dsp_cmx_hardware() 807 conf->hardware = 1; dsp_cmx_hardware() 808 conf->software = tx_data; dsp_cmx_hardware() 837 conf->hardware = 1; dsp_cmx_hardware() 838 conf->software = tx_data; dsp_cmx_hardware() 917 conf->hardware = 1; dsp_cmx_hardware() 918 conf->software = tx_data; dsp_cmx_hardware() 935 __func__, conf->id); dsp_cmx_hardware() 943 conf->hardware = 1; dsp_cmx_hardware() 944 conf->software = tx_data; dsp_cmx_hardware() 953 list_for_each_entry(member, &conf->mlist, list) { dsp_cmx_hardware() 1000 __func__, conf->id); dsp_cmx_hardware() 1008 /* assign free slot & set PCM & join conf */ dsp_cmx_hardware() 1019 conf->hardware = 1; dsp_cmx_hardware() 1020 conf->software = tx_data; dsp_cmx_hardware() 1050 __func__, conf->id); dsp_cmx_hardware() 1067 struct dsp_conf *conf; dsp_cmx_conf() local 1074 /* first remove us from current conf */ dsp_cmx_conf() 1078 dsp->conf->id); dsp_cmx_conf() 1079 /* remove us from conf */ dsp_cmx_conf() 1080 conf = dsp->conf; dsp_cmx_conf() 1089 /* conf now empty? */ dsp_cmx_conf() 1090 if (list_empty(&conf->mlist)) { dsp_cmx_conf() 1094 err = dsp_cmx_del_conf(conf); dsp_cmx_conf() 1098 /* update members left on conf */ dsp_cmx_conf() 1099 dsp_cmx_hardware(conf, NULL); dsp_cmx_conf() 1107 /* now add us to conf */ dsp_cmx_conf() 1111 conf = dsp_cmx_search_conf(conf_id); dsp_cmx_conf() 1112 if (!conf) { dsp_cmx_conf() 1117 conf = dsp_cmx_new_conf(conf_id); dsp_cmx_conf() 1118 if (!conf) dsp_cmx_conf() 1120 } else if (!list_empty(&conf->mlist)) { dsp_cmx_conf() 1121 member = list_entry(conf->mlist.next, struct dsp_conf_member, dsp_cmx_conf() 1137 err = dsp_cmx_add_conf_member(dsp, conf); dsp_cmx_conf() 1143 if (list_empty(&conf->mlist)) { dsp_cmx_conf() 1152 /* update members on conf */ dsp_cmx_conf() 1153 dsp_cmx_hardware(conf, NULL); dsp_cmx_conf() 1311 struct dsp_conf *conf = dsp->conf; local 1326 if (((dsp->conf && dsp->conf->hardware) || /* hardware conf */ 1334 if (dsp->conf && dsp->conf->software && dsp->conf->hardware) 1342 "SEND members=%d dsp=%s, conf=%p, rx_R=%05x rx_W=%05x\n", 1343 members, dsp->name, conf, dsp->rx_R, dsp->rx_W); 1418 /* PROCESS DATA (one member / no conf) */ 1419 if (!conf || members <= 1) { 1460 other = (list_entry(conf->mlist.next, 1463 other = (list_entry(conf->mlist.prev, 1518 * -> subtract rx-data from conf-data, 1529 /* conf-rx+tx */ 1540 /* conf-rx */ 1546 * -> encode conf-data, if tx-data 1556 /* conf(echo)+tx */ 1567 /* conf(echo) */ 1631 struct dsp_conf *conf; local 1672 conf = dsp->conf; 1675 if (conf) { 1676 members = count_list_member(&conf->mlist); 1678 if (conf->software && members > 1) 1680 if (conf->software && members > 2) 1697 list_for_each_entry(conf, &conf_ilist, list) { 1699 members = count_list_member(&conf->mlist); 1701 if (conf->software && members > 1) { 1703 if (conf->software && members > 2) { 1705 /* check for hdlc conf */ 1706 member = list_entry(conf->mlist.next, 1712 list_for_each_entry(member, &conf->mlist, list) { 1727 list_for_each_entry(member, &conf->mlist, list) { 1932 /* no conf */ dsp_cmx_hdlc() 1933 if (!dsp->conf) { dsp_cmx_hdlc() 1948 if (dsp->conf->hardware) dsp_cmx_hdlc() 1950 list_for_each_entry(member, &dsp->conf->mlist, list) { dsp_cmx_hdlc()
|
H A D | dsp_core.c | 210 else if (dsp->conf && dsp->conf->software) dsp_rx_off_member() 244 /* no conf */ dsp_rx_off() 245 if (!dsp->conf) { dsp_rx_off() 249 /* check all members in conf */ dsp_rx_off() 250 list_for_each_entry(member, &dsp->conf->mlist, list) { dsp_rx_off() 368 dsp_cmx_hardware(dsp->conf, dsp); dsp_control_req() 382 dsp_cmx_hardware(dsp->conf, dsp); dsp_control_req() 402 dsp_cmx_hardware(dsp->conf, dsp); dsp_control_req() 419 dsp_cmx_hardware(dsp->conf, dsp); dsp_control_req() 427 dsp_cmx_hardware(dsp->conf, dsp); dsp_control_req() 437 dsp_cmx_hardware(dsp->conf, dsp); dsp_control_req() 463 "tx-data with conf members\n", __func__); dsp_control_req() 465 dsp_cmx_hardware(dsp->conf, dsp); dsp_control_req() 477 "tx-data with conf members\n", __func__); dsp_control_req() 479 dsp_cmx_hardware(dsp->conf, dsp); dsp_control_req() 488 dsp_cmx_hardware(dsp->conf, dsp); dsp_control_req() 497 dsp_cmx_hardware(dsp->conf, dsp); dsp_control_req() 565 dsp_cmx_hardware(dsp->conf, dsp); dsp_control_req() 568 dsp_cmx_hardware(dsp->conf, dsp); dsp_control_req() 601 dsp_cmx_hardware(dsp->conf, dsp); dsp_control_req() 614 dsp_cmx_hardware(dsp->conf, dsp); dsp_control_req() 732 if (dsp->conf && dsp->conf->software) { dsp_function() 819 dsp_cmx_hardware(dsp->conf, dsp); dsp_function() 845 dsp_cmx_hardware(dsp->conf, dsp); dsp_function() 867 dsp_cmx_hardware(dsp->conf, dsp); dsp_function() 933 if (dsp->conf) dsp_function()
|
H A D | dsp.h | 105 int software; /* conf is processed by software */ 106 int hardware; /* conf is processed by hardware */ 192 struct dsp_conf *conf; member in struct:dsp 246 extern void dsp_cmx_hardware(struct dsp_conf *conf, struct dsp *dsp); 253 extern int dsp_cmx_del_conf(struct dsp_conf *conf);
|
/linux-4.4.14/sound/soc/jz4740/ |
H A D | jz4740-i2s.c | 135 uint32_t conf, ctrl; jz4740_i2s_startup() local 146 conf = jz4740_i2s_read(i2s, JZ_REG_AIC_CONF); jz4740_i2s_startup() 147 conf |= JZ_AIC_CONF_ENABLE; jz4740_i2s_startup() 148 jz4740_i2s_write(i2s, JZ_REG_AIC_CONF, conf); jz4740_i2s_startup() 157 uint32_t conf; jz4740_i2s_shutdown() local 162 conf = jz4740_i2s_read(i2s, JZ_REG_AIC_CONF); jz4740_i2s_shutdown() 163 conf &= ~JZ_AIC_CONF_ENABLE; jz4740_i2s_shutdown() 164 jz4740_i2s_write(i2s, JZ_REG_AIC_CONF, conf); jz4740_i2s_shutdown() 209 uint32_t conf; jz4740_i2s_set_fmt() local 211 conf = jz4740_i2s_read(i2s, JZ_REG_AIC_CONF); jz4740_i2s_set_fmt() 213 conf &= ~(JZ_AIC_CONF_BIT_CLK_MASTER | JZ_AIC_CONF_SYNC_CLK_MASTER); jz4740_i2s_set_fmt() 217 conf |= JZ_AIC_CONF_BIT_CLK_MASTER | JZ_AIC_CONF_SYNC_CLK_MASTER; jz4740_i2s_set_fmt() 221 conf |= JZ_AIC_CONF_SYNC_CLK_MASTER; jz4740_i2s_set_fmt() 224 conf |= JZ_AIC_CONF_BIT_CLK_MASTER; jz4740_i2s_set_fmt() 249 jz4740_i2s_write(i2s, JZ_REG_AIC_CONF, conf); jz4740_i2s_set_fmt() 336 uint32_t conf; jz4740_i2s_suspend() local 339 conf = jz4740_i2s_read(i2s, JZ_REG_AIC_CONF); jz4740_i2s_suspend() 340 conf &= ~JZ_AIC_CONF_ENABLE; jz4740_i2s_suspend() 341 jz4740_i2s_write(i2s, JZ_REG_AIC_CONF, conf); jz4740_i2s_suspend() 354 uint32_t conf; jz4740_i2s_resume() local 361 conf = jz4740_i2s_read(i2s, JZ_REG_AIC_CONF); jz4740_i2s_resume() 362 conf |= JZ_AIC_CONF_ENABLE; jz4740_i2s_resume() 363 jz4740_i2s_write(i2s, JZ_REG_AIC_CONF, conf); jz4740_i2s_resume() 389 uint32_t conf; jz4740_i2s_dai_probe() local 398 conf = (7 << JZ4780_AIC_CONF_FIFO_RX_THRESHOLD_OFFSET) | jz4740_i2s_dai_probe() 404 conf = (7 << JZ_AIC_CONF_FIFO_RX_THRESHOLD_OFFSET) | jz4740_i2s_dai_probe() 412 jz4740_i2s_write(i2s, JZ_REG_AIC_CONF, conf); jz4740_i2s_dai_probe()
|
/linux-4.4.14/drivers/gpu/drm/i915/ |
H A D | dvo_ns2501.c | 206 uint8_t conf; /* configuration register 8 */ member in struct:ns2501_configuration 233 .conf = NS2501_8_VEN | NS2501_8_HEN | NS2501_8_PD, 253 .conf = NS2501_8_VEN | NS2501_8_HEN | NS2501_8_PD, 272 .conf = NS2501_8_VEN | NS2501_8_HEN | NS2501_8_PD, 381 const struct ns2501_configuration *conf; member in struct:ns2501_priv 552 const struct ns2501_configuration *conf; ns2501_mode_set() local 609 conf = ns2501_modes + mode_idx; ns2501_mode_set() 610 ns->conf = conf; ns2501_mode_set() 612 ns2501_writeb(dvo, NS2501_REG8, conf->conf); ns2501_mode_set() 613 ns2501_writeb(dvo, NS2501_REG1B, conf->pll_a); ns2501_mode_set() 614 ns2501_writeb(dvo, NS2501_REG1C, conf->pll_b & 0xff); ns2501_mode_set() 615 ns2501_writeb(dvo, NS2501_REG1D, conf->pll_b >> 8); ns2501_mode_set() 616 ns2501_writeb(dvo, NS2501_REGC1, conf->hstart & 0xff); ns2501_mode_set() 617 ns2501_writeb(dvo, NS2501_REGC2, conf->hstart >> 8); ns2501_mode_set() 618 ns2501_writeb(dvo, NS2501_REGC3, conf->hstop & 0xff); ns2501_mode_set() 619 ns2501_writeb(dvo, NS2501_REGC4, conf->hstop >> 8); ns2501_mode_set() 620 ns2501_writeb(dvo, NS2501_REGC5, conf->vstart & 0xff); ns2501_mode_set() 621 ns2501_writeb(dvo, NS2501_REGC6, conf->vstart >> 8); ns2501_mode_set() 622 ns2501_writeb(dvo, NS2501_REGC7, conf->vstop & 0xff); ns2501_mode_set() 623 ns2501_writeb(dvo, NS2501_REGC8, conf->vstop >> 8); ns2501_mode_set() 624 ns2501_writeb(dvo, NS2501_REG80, conf->vsync & 0xff); ns2501_mode_set() 625 ns2501_writeb(dvo, NS2501_REG81, conf->vsync >> 8); ns2501_mode_set() 626 ns2501_writeb(dvo, NS2501_REG82, conf->vtotal & 0xff); ns2501_mode_set() 627 ns2501_writeb(dvo, NS2501_REG83, conf->vtotal >> 8); ns2501_mode_set() 628 ns2501_writeb(dvo, NS2501_REG98, conf->hpos & 0xff); ns2501_mode_set() 629 ns2501_writeb(dvo, NS2501_REG99, conf->hpos >> 8); ns2501_mode_set() 630 ns2501_writeb(dvo, NS2501_REG8E, conf->vpos & 0xff); ns2501_mode_set() 631 ns2501_writeb(dvo, NS2501_REG8F, conf->vpos >> 8); ns2501_mode_set() 632 ns2501_writeb(dvo, NS2501_REG9C, conf->voffs & 0xff); ns2501_mode_set() 633 ns2501_writeb(dvo, NS2501_REG9D, conf->voffs >> 8); ns2501_mode_set() 634 ns2501_writeb(dvo, NS2501_REGB8, conf->hscale & 0xff); ns2501_mode_set() 635 ns2501_writeb(dvo, NS2501_REGB9, conf->hscale >> 8); ns2501_mode_set() 636 ns2501_writeb(dvo, NS2501_REG10, conf->vscale & 0xff); ns2501_mode_set() 637 ns2501_writeb(dvo, NS2501_REG11, conf->vscale >> 8); ns2501_mode_set() 638 ns2501_writeb(dvo, NS2501_REGF9, conf->dither); ns2501_mode_set() 639 ns2501_writeb(dvo, NS2501_REG41, conf->syncb); ns2501_mode_set() 640 ns2501_writeb(dvo, NS2501_REGC0, conf->sync); ns2501_mode_set() 662 ns2501_writeb(dvo, NS2501_REGC0, ns->conf->sync | 0x08); ns2501_dpms() 664 ns2501_writeb(dvo, NS2501_REG41, ns->conf->syncb); ns2501_dpms() 670 ns->conf->conf | NS2501_8_BPAS); ns2501_dpms() 671 if (!(ns->conf->conf & NS2501_8_BPAS)) ns2501_dpms() 672 ns2501_writeb(dvo, NS2501_REG8, ns->conf->conf); ns2501_dpms() 678 ns2501_writeb(dvo, NS2501_REGC0, ns->conf->sync); ns2501_dpms()
|
/linux-4.4.14/scripts/kconfig/ |
H A D | streamline_config.pl | 104 foreach my $conf (@searchconfigs) { 105 my $file = $conf->{"file"}; 109 if (defined($conf->{"test"})) { 110 `$conf->{"test"} $conf->{"file"} 2>/dev/null`; 114 my $exec = $conf->{"exec"}; 232 my $conf = $1; 233 if (defined($selects{$conf})) { 234 $selects{$conf} .= " " . $config; 236 $selects{$conf} = $config; 400 foreach my $conf (@arr) { 401 $configs{$conf} = $module; 402 dprint "$conf added by direct ($module)\n"; 404 my $c=$conf; 452 my $conf = "CONFIG_" . $1; 457 if (!defined($orig_configs{$conf}) || !$orig_configs{conf} eq "m") { 461 if (!defined($configs{$conf})) { 465 dprint "$conf selected by depend $depconfig\n"; 466 $configs{$conf} = 1; 493 my $conf = "CONFIG_" . $1; 498 if (!defined($orig_configs{$conf})) { 499 dprint "$conf not set for $config select\n"; 504 if (defined($orig_configs{$conf}) && $orig_configs{$conf} ne "m") { 505 dprint "$conf (non module) selects config, we are good\n"; 509 if (defined($configs{$conf})) { 510 dprint "$conf selects $config so we are good\n"; 516 $next_config = $conf; 636 foreach my $conf (@arr) { 637 if (defined($setconfigs{$conf})) { 642 foreach my $conf (@arr) { 643 print STDERR " " , $conf;
|
H A D | Makefile | 30 config: $(obj)/conf 36 silentoldconfig: $(obj)/conf 40 localyesconfig localmodconfig: $(obj)/streamline_config.pl $(obj)/conf 47 $(obj)/conf $(silent) --silentoldconfig $(Kconfig); \ 51 $(obj)/conf $(silent) --silentoldconfig $(Kconfig); \ 78 # These targets map 1:1 to the commandline options of 'conf' 83 $(simple-targets): $(obj)/conf 93 savedefconfig: $(obj)/conf 96 defconfig: $(obj)/conf 109 %_defconfig: $(obj)/conf 114 %.config: $(obj)/conf 167 # conf: Used for defconfig, oldconfig and related targets 181 conf-objs := conf.o zconf.tab.o 189 hostprogs-y := conf nconf mconf kxgettext qconf gconf
|
H A D | conf.c | 20 static void conf(struct menu *menu); 347 conf(child); conf_choice() 354 static void conf(struct menu *menu) conf() function 415 conf(child); conf() 440 conf(rootEntry); check_conf() 671 conf(&rootmenu); main()
|
/linux-4.4.14/drivers/media/platform/omap3isp/ |
H A D | isph3a_af.c | 31 struct omap3isp_h3a_af_config *conf = priv; h3a_af_setup_regs() local 51 pax1 = ((conf->paxel.width >> 1) - 1) << AF_PAXW_SHIFT; h3a_af_setup_regs() 53 pax1 |= (conf->paxel.height >> 1) - 1; h3a_af_setup_regs() 58 pax2 = ((conf->paxel.line_inc >> 1) - 1) << AF_LINE_INCR_SHIFT; h3a_af_setup_regs() 60 pax2 |= (conf->paxel.v_cnt - 1) << AF_VT_COUNT_SHIFT; h3a_af_setup_regs() 62 pax2 |= (conf->paxel.h_cnt - 1); h3a_af_setup_regs() 67 paxstart = conf->paxel.h_start << AF_HZ_START_SHIFT; h3a_af_setup_regs() 69 paxstart |= conf->paxel.v_start; h3a_af_setup_regs() 74 isp_reg_writel(af->isp, conf->iir.h_start, h3a_af_setup_regs() 82 coef |= conf->iir.coeff_set0[index]; h3a_af_setup_regs() 83 coef |= conf->iir.coeff_set0[index + 1] << h3a_af_setup_regs() 91 coef |= conf->iir.coeff_set1[index]; h3a_af_setup_regs() 92 coef |= conf->iir.coeff_set1[index + 1] << h3a_af_setup_regs() 99 isp_reg_writel(af->isp, conf->iir.coeff_set0[10], h3a_af_setup_regs() 102 isp_reg_writel(af->isp, conf->iir.coeff_set1[10], h3a_af_setup_regs() 107 pcr = conf->rgb_pos << AF_RGBPOS_SHIFT; h3a_af_setup_regs() 109 if (conf->fvmode == OMAP3ISP_AF_MODE_PEAK) h3a_af_setup_regs() 112 if (conf->alaw_enable) h3a_af_setup_regs() 115 if (conf->hmf.enable) { h3a_af_setup_regs() 119 pcr |= conf->hmf.threshold << AF_MED_TH_SHIFT; h3a_af_setup_regs() 128 af->buf_size = conf->buf_size; h3a_af_setup_regs() 150 static u32 h3a_af_get_buf_size(struct omap3isp_h3a_af_config *conf) h3a_af_get_buf_size() argument 152 return conf->paxel.h_cnt * conf->paxel.v_cnt * OMAP3ISP_AF_PAXEL_SIZE; h3a_af_get_buf_size()
|
H A D | isph3a_aewb.c | 30 struct omap3isp_h3a_aewb_config *conf = priv; h3a_aewb_setup_regs() local 47 pcr = conf->saturation_limit << ISPH3A_PCR_AEW_AVE2LMT_SHIFT; h3a_aewb_setup_regs() 48 pcr |= !!conf->alaw_enable << ISPH3A_PCR_AEW_ALAW_EN_SHIFT; h3a_aewb_setup_regs() 50 win1 = ((conf->win_height >> 1) - 1) << ISPH3A_AEWWIN1_WINH_SHIFT; h3a_aewb_setup_regs() 51 win1 |= ((conf->win_width >> 1) - 1) << ISPH3A_AEWWIN1_WINW_SHIFT; h3a_aewb_setup_regs() 52 win1 |= (conf->ver_win_count - 1) << ISPH3A_AEWWIN1_WINVC_SHIFT; h3a_aewb_setup_regs() 53 win1 |= (conf->hor_win_count - 1) << ISPH3A_AEWWIN1_WINHC_SHIFT; h3a_aewb_setup_regs() 55 start = conf->hor_win_start << ISPH3A_AEWINSTART_WINSH_SHIFT; h3a_aewb_setup_regs() 56 start |= conf->ver_win_start << ISPH3A_AEWINSTART_WINSV_SHIFT; h3a_aewb_setup_regs() 58 blk = conf->blk_ver_win_start << ISPH3A_AEWINBLK_WINSV_SHIFT; h3a_aewb_setup_regs() 59 blk |= ((conf->blk_win_height >> 1) - 1) << ISPH3A_AEWINBLK_WINH_SHIFT; h3a_aewb_setup_regs() 61 subwin = ((conf->subsample_ver_inc >> 1) - 1) << h3a_aewb_setup_regs() 63 subwin |= ((conf->subsample_hor_inc >> 1) - 1) << h3a_aewb_setup_regs() 78 aewb->buf_size = conf->buf_size; h3a_aewb_setup_regs() 100 static u32 h3a_aewb_get_buf_size(struct omap3isp_h3a_aewb_config *conf) h3a_aewb_get_buf_size() argument 103 u32 win_count = (conf->ver_win_count + 1) * conf->hor_win_count; h3a_aewb_get_buf_size()
|
H A D | isphist.c | 37 struct omap3isp_hist_config *conf = hist->priv; hist_reset_mem() local 60 hist->wait_acc_frames = conf->num_acc_frames; hist_reset_mem() 69 struct omap3isp_hist_config *conf = priv; hist_setup_regs() local 80 cnt = conf->cfa << ISPHIST_CNT_CFA_SHIFT; hist_setup_regs() 82 wb_gain = conf->wg[0] << ISPHIST_WB_GAIN_WG00_SHIFT; hist_setup_regs() 83 wb_gain |= conf->wg[1] << ISPHIST_WB_GAIN_WG01_SHIFT; hist_setup_regs() 84 wb_gain |= conf->wg[2] << ISPHIST_WB_GAIN_WG02_SHIFT; hist_setup_regs() 85 if (conf->cfa == OMAP3ISP_HIST_CFA_BAYER) hist_setup_regs() 86 wb_gain |= conf->wg[3] << ISPHIST_WB_GAIN_WG03_SHIFT; hist_setup_regs() 90 if (c < conf->num_regions) { hist_setup_regs() 91 reg_hor[c] = (conf->region[c].h_start << hist_setup_regs() 93 | (conf->region[c].h_end << hist_setup_regs() 95 reg_ver[c] = (conf->region[c].v_start << hist_setup_regs() 97 | (conf->region[c].v_end << hist_setup_regs() 105 cnt |= conf->hist_bins << ISPHIST_CNT_BINS_SHIFT; hist_setup_regs() 106 switch (conf->hist_bins) { hist_setup_regs() 141 hist->buf_size = conf->buf_size; hist_setup_regs() 297 static u32 hist_get_buf_size(struct omap3isp_hist_config *conf) hist_get_buf_size() argument 299 return OMAP3ISP_HIST_MEM_SIZE_BINS(conf->hist_bins) * conf->num_regions; hist_get_buf_size()
|
/linux-4.4.14/drivers/hwmon/ |
H A D | tc74.c | 116 s32 conf; tc74_probe() local 129 conf = i2c_smbus_read_byte_data(client, TC74_REG_CONFIG); tc74_probe() 130 if (conf < 0) { tc74_probe() 133 return conf; tc74_probe() 136 if (conf & 0x3f) { tc74_probe() 142 if (conf & BIT(7)) { tc74_probe() 145 conf &= ~BIT(7); tc74_probe() 147 ret = i2c_smbus_write_byte_data(client, TC74_REG_CONFIG, conf); tc74_probe()
|
H A D | ds1621.c | 130 u8 conf; /* Register encoding, combined */ member in struct:ds1621_data 157 u8 conf, new_conf, sreg, resol; ds1621_init_client() local 159 new_conf = conf = i2c_smbus_read_byte_data(client, DS1621_REG_CONF); ds1621_init_client() 169 if (conf != new_conf) ds1621_init_client() 212 data->conf = i2c_smbus_read_byte_data(client, DS1621_REG_CONF); ds1621_update_client() 219 new_conf = data->conf; ds1621_update_client() 224 if (data->conf != new_conf) ds1621_update_client() 270 return sprintf(buf, "%d\n", ALARMS_FROM_REG(data->conf)); show_alarms() 278 return sprintf(buf, "%d\n", !!(data->conf & attr->index)); show_alarm() 307 data->conf = i2c_smbus_read_byte_data(client, DS1621_REG_CONF); set_convrate() 308 data->conf &= ~DS1621_REG_CONFIG_RESOL; set_convrate() 309 data->conf |= (resol << DS1621_REG_CONFIG_RESOL_SHIFT); set_convrate() 310 i2c_smbus_write_byte_data(client, DS1621_REG_CONF, data->conf); set_convrate()
|
H A D | ds620.c | 81 u16 conf, new_conf; ds620_init_client() local 83 new_conf = conf = ds620_init_client() 100 if (conf != new_conf) ds620_init_client() 185 u16 conf, new_conf; show_alarm() local 198 new_conf = conf = res; show_alarm() 200 if (conf != new_conf) { show_alarm() 207 return sprintf(buf, "%d\n", !!(conf & attr->index)); show_alarm()
|
H A D | lm77.c | 255 int i, cur, conf, hyst, crit, min, max; lm77_detect() local 277 conf = i2c_smbus_read_byte_data(client, 1); lm77_detect() 283 if (i2c_smbus_read_byte_data(client, i + 1) != conf lm77_detect() 300 if (conf & 0xe0) lm77_detect() 325 int conf = lm77_read_value(client, LM77_REG_CONF); lm77_init_client() local 326 if (conf & 1) lm77_init_client() 327 lm77_write_value(client, LM77_REG_CONF, conf & 0xfe); lm77_init_client()
|
H A D | ad7414.c | 184 int conf; ad7414_probe() local 200 conf = i2c_smbus_read_byte_data(client, AD7414_REG_CONF); ad7414_probe() 201 if (conf < 0) ad7414_probe() 204 conf &= ~(1 << 7); ad7414_probe() 205 i2c_smbus_write_byte_data(client, AD7414_REG_CONF, conf); ad7414_probe()
|
H A D | lm73.c | 240 int id, ctrl, conf; lm73_detect() local 254 conf = i2c_smbus_read_byte_data(new_client, LM73_REG_CONF); lm73_detect() 255 if (conf < 0 || (conf & 0x0c)) lm73_detect()
|
H A D | gl520sm.c | 844 u8 oldconf, conf; gl520_init_client() local 846 conf = oldconf = gl520_read_value(client, GL520_REG_CONF); gl520_init_client() 852 conf &= ~0x10; gl520_init_client() 854 conf |= 0x10; gl520_init_client() 855 data->two_temps = !(conf & 0x10); gl520_init_client() 858 if (!(conf & 0x20)) gl520_init_client() 859 conf &= 0xf7; gl520_init_client() 862 conf |= 0x40; gl520_init_client() 864 if (conf != oldconf) gl520_init_client() 865 gl520_write_value(client, GL520_REG_CONF, conf); gl520_init_client()
|
H A D | lm92.c | 272 u8 conf; max6635_check() local 300 conf = i2c_smbus_read_byte_data(client, LM92_REG_CONFIG); max6635_check() 310 || conf != i2c_smbus_read_byte_data(client, max6635_check()
|
H A D | lm75.c | 365 int conf, hyst, os; lm75_detect() local 398 conf = i2c_smbus_read_byte_data(new_client, 1); lm75_detect() 399 if (conf & 0xe0) lm75_detect() 437 if (i2c_smbus_read_byte_data(new_client, i + 1) != conf lm75_detect()
|
/linux-4.4.14/tools/power/cpupower/bench/ |
H A D | Makefile | 11 CFLAGS += -D_GNU_SOURCE -I../lib -DDEFAULT_CONFIG_FILE=\"$(confdir)/cpufreq-bench.conf\" 32 install -m 644 example.cfg $(DESTDIR)/$(confdir)/cpufreq-bench.conf
|
/linux-4.4.14/arch/x86/boot/ |
H A D | Makefile | 22 targets += fdimage fdimage144 fdimage288 image.iso mtools.conf 122 $(obj)/mtools.conf: $(src)/mtools.conf.in 126 bzdisk: $(obj)/bzImage $(obj)/mtools.conf 127 MTOOLSRC=$(obj)/mtools.conf mformat a: ; sync 130 MTOOLSRC=$(src)/mtools.conf mcopy - a:syslinux.cfg 132 MTOOLSRC=$(obj)/mtools.conf mcopy '$(FDINITRD)' a:initrd.img ; \ 134 MTOOLSRC=$(obj)/mtools.conf mcopy $(obj)/bzImage a:linux ; sync 137 fdimage fdimage144: $(obj)/bzImage $(obj)/mtools.conf 139 MTOOLSRC=$(obj)/mtools.conf mformat v: ; sync 142 MTOOLSRC=$(obj)/mtools.conf mcopy - v:syslinux.cfg 144 MTOOLSRC=$(obj)/mtools.conf mcopy '$(FDINITRD)' v:initrd.img ; \ 146 MTOOLSRC=$(obj)/mtools.conf mcopy $(obj)/bzImage v:linux ; sync 148 fdimage288: $(obj)/bzImage $(obj)/mtools.conf 150 MTOOLSRC=$(obj)/mtools.conf mformat w: ; sync 153 MTOOLSRC=$(obj)/mtools.conf mcopy - w:syslinux.cfg 155 MTOOLSRC=$(obj)/mtools.conf mcopy '$(FDINITRD)' w:initrd.img ; \ 157 MTOOLSRC=$(obj)/mtools.conf mcopy $(obj)/bzImage w:linux ; sync
|
/linux-4.4.14/drivers/net/wireless/ti/wlcore/ |
H A D | acx.c | 186 acx->lifetime = cpu_to_le32(wl->conf.rx.rx_msdu_life_time); wl1271_acx_rx_msdu_life_time() 275 rx_timeout->ps_poll_timeout = cpu_to_le16(wl->conf.rx.ps_poll_timeout); wl1271_acx_service_period_timeout() 276 rx_timeout->upsd_timeout = cpu_to_le16(wl->conf.rx.upsd_timeout); wl1271_acx_service_period_timeout() 302 rts_threshold = wl->conf.rx.rts_threshold; wl1271_acx_rts_threshold() 329 struct conf_itrim_settings *c = &wl->conf.itrim; wl1271_acx_dco_itrim_params() 365 wl->conf.conn.bcn_filt_mode == CONF_BCN_FILT_MODE_DISABLED) wl1271_acx_beacon_filter_opt() 414 for (i = 0; i < wl->conf.conn.bcn_filt_ie_count; i++) { wl1271_acx_beacon_filter_table() 415 struct conf_bcn_filt_rule *r = &(wl->conf.conn.bcn_filt_ie[i]); wl1271_acx_beacon_filter_table() 471 threshold = wl->conf.conn.synch_fail_thold; wl1271_acx_conn_monit_params() 472 timeout = wl->conf.conn.bss_lose_timeout; wl1271_acx_conn_monit_params() 507 pta->enable = wl->conf.sg.state; wl1271_acx_sg_enable() 525 struct conf_sg_settings *c = &wl->conf.sg; wl12xx_acx_sg_cfg() 565 detection->rx_cca_threshold = cpu_to_le16(wl->conf.rx.rx_cca_threshold); wl1271_acx_cca_threshold() 566 detection->tx_energy_detection = wl->conf.tx.tx_energy_detection; wl1271_acx_cca_threshold() 592 bb->beacon_rx_timeout = cpu_to_le16(wl->conf.conn.beacon_rx_timeout); wl1271_acx_bcn_dtim_options() 593 bb->broadcast_timeout = cpu_to_le16(wl->conf.conn.broadcast_timeout); wl1271_acx_bcn_dtim_options() 594 bb->rx_broadcast_in_ps = wl->conf.conn.rx_broadcast_in_ps; wl1271_acx_bcn_dtim_options() 595 bb->ps_poll_threshold = wl->conf.conn.ps_poll_threshold; wl1271_acx_bcn_dtim_options() 740 struct conf_tx_rate_class *c = &wl->conf.tx.sta_rc_conf; wl1271_acx_sta_rate_policies() 921 frag_threshold = wl->conf.tx.frag_threshold; wl1271_acx_frag_threshold() 958 acx->tx_compl_timeout = cpu_to_le16(wl->conf.tx.tx_compl_timeout); wl1271_acx_tx_config_options() 959 acx->tx_compl_threshold = cpu_to_le16(wl->conf.tx.tx_compl_threshold); wl1271_acx_tx_config_options() 985 mem = &wl->conf.mem; wl12xx_acx_mem_cfg() 997 mem_conf->fwlog_blocks = wl->conf.fwlog.mem_blocks; wl12xx_acx_mem_cfg() 1056 rx_conf->threshold = cpu_to_le16(wl->conf.rx.irq_pkt_threshold); wl1271_acx_init_rx_interrupt() 1057 rx_conf->timeout = cpu_to_le16(wl->conf.rx.irq_timeout); wl1271_acx_init_rx_interrupt() 1058 rx_conf->mblk_threshold = cpu_to_le16(wl->conf.rx.irq_blk_threshold); wl1271_acx_init_rx_interrupt() 1059 rx_conf->queue_type = wl->conf.rx.queue_type; wl1271_acx_init_rx_interrupt() 1081 if (enable && wl->conf.conn.bet_enable == CONF_BET_MODE_DISABLE) wl1271_acx_bet_enable() 1092 acx->max_consecutive = wl->conf.conn.bet_max_consecutive; wl1271_acx_bet_enable() 1141 struct conf_pm_config_settings *c = &wl->conf.pm_config; wl1271_acx_pm_config() 1210 acx->period = cpu_to_le32(wl->conf.conn.keep_alive_interval); wl1271_acx_keep_alive_config() 1244 acx->pacing = cpu_to_le16(wl->conf.roam_trigger.trigger_pacing); wl1271_acx_rssi_snr_trigger() 1272 struct conf_roam_trigger_settings *c = &wl->conf.roam_trigger; wl1271_acx_rssi_snr_avg_weights() 1402 acx->tid_bitmap = wl->conf.ht.tx_ba_tid_bitmap; wl12xx_acx_set_ba_initiator_policy() 1403 acx->win_size = wl->conf.ht.tx_ba_win_size; wl12xx_acx_set_ba_initiator_policy() 1404 acx->inactivity_timeout = wl->conf.ht.inactivity_timeout; wl12xx_acx_set_ba_initiator_policy() 1438 acx->win_size = wl->conf.ht.rx_ba_win_size; wl12xx_acx_set_ba_receiver_session() 1506 conf_queues = wl->conf.rx_streaming.queues; wl1271_acx_ps_rx_streaming() 1515 * this check assumes conf.rx_streaming.queues can't wl1271_acx_ps_rx_streaming() 1524 rx_streaming->period = wl->conf.rx_streaming.interval; wl1271_acx_ps_rx_streaming() 1525 rx_streaming->timeout = wl->conf.rx_streaming.interval; wl1271_acx_ps_rx_streaming() 1552 acx->max_tx_retry = cpu_to_le16(wl->conf.tx.max_tx_retries); wl1271_acx_ap_max_tx_retry() 1578 config_ps->exit_retries = wl->conf.conn.psm_exit_retries; wl12xx_acx_config_ps() 1579 config_ps->enter_retries = wl->conf.conn.psm_entry_retries; wl12xx_acx_config_ps() 1635 acx->enable = wl->conf.fm_coex.enable; wl1271_acx_fm_coex() 1636 acx->swallow_period = wl->conf.fm_coex.swallow_period; wl1271_acx_fm_coex() 1637 acx->n_divider_fref_set_1 = wl->conf.fm_coex.n_divider_fref_set_1; wl1271_acx_fm_coex() 1638 acx->n_divider_fref_set_2 = wl->conf.fm_coex.n_divider_fref_set_2; wl1271_acx_fm_coex() 1640 cpu_to_le16(wl->conf.fm_coex.m_divider_fref_set_1); wl1271_acx_fm_coex() 1642 cpu_to_le16(wl->conf.fm_coex.m_divider_fref_set_2); wl1271_acx_fm_coex() 1644 cpu_to_le32(wl->conf.fm_coex.coex_pll_stabilization_time); wl1271_acx_fm_coex() 1646 cpu_to_le16(wl->conf.fm_coex.ldo_stabilization_time); wl1271_acx_fm_coex() 1648 wl->conf.fm_coex.fm_disturbed_band_margin; wl1271_acx_fm_coex() 1649 acx->swallow_clk_diff = wl->conf.fm_coex.swallow_clk_diff; wl1271_acx_fm_coex() 1665 struct conf_rate_policy_settings *conf = &wl->conf.rate; wl12xx_acx_set_rate_mgmt_params() local 1675 acx->rate_retry_score = cpu_to_le16(conf->rate_retry_score); wl12xx_acx_set_rate_mgmt_params() 1676 acx->per_add = cpu_to_le16(conf->per_add); wl12xx_acx_set_rate_mgmt_params() 1677 acx->per_th1 = cpu_to_le16(conf->per_th1); wl12xx_acx_set_rate_mgmt_params() 1678 acx->per_th2 = cpu_to_le16(conf->per_th2); wl12xx_acx_set_rate_mgmt_params() 1679 acx->max_per = cpu_to_le16(conf->max_per); wl12xx_acx_set_rate_mgmt_params() 1680 acx->inverse_curiosity_factor = conf->inverse_curiosity_factor; wl12xx_acx_set_rate_mgmt_params() 1681 acx->tx_fail_low_th = conf->tx_fail_low_th; wl12xx_acx_set_rate_mgmt_params() 1682 acx->tx_fail_high_th = conf->tx_fail_high_th; wl12xx_acx_set_rate_mgmt_params() 1683 acx->per_alpha_shift = conf->per_alpha_shift; wl12xx_acx_set_rate_mgmt_params() 1684 acx->per_add_shift = conf->per_add_shift; wl12xx_acx_set_rate_mgmt_params() 1685 acx->per_beta1_shift = conf->per_beta1_shift; wl12xx_acx_set_rate_mgmt_params() 1686 acx->per_beta2_shift = conf->per_beta2_shift; wl12xx_acx_set_rate_mgmt_params() 1687 acx->rate_check_up = conf->rate_check_up; wl12xx_acx_set_rate_mgmt_params() 1688 acx->rate_check_down = conf->rate_check_down; wl12xx_acx_set_rate_mgmt_params() 1689 memcpy(acx->rate_retry_policy, conf->rate_retry_policy, wl12xx_acx_set_rate_mgmt_params() 1707 struct conf_hangover_settings *conf = &wl->conf.hangover; wl12xx_acx_config_hangover() local 1718 acx->recover_time = cpu_to_le32(conf->recover_time); wl12xx_acx_config_hangover() 1719 acx->hangover_period = conf->hangover_period; wl12xx_acx_config_hangover() 1720 acx->dynamic_mode = conf->dynamic_mode; wl12xx_acx_config_hangover() 1721 acx->early_termination_mode = conf->early_termination_mode; wl12xx_acx_config_hangover() 1722 acx->max_period = conf->max_period; wl12xx_acx_config_hangover() 1723 acx->min_period = conf->min_period; wl12xx_acx_config_hangover() 1724 acx->increase_delta = conf->increase_delta; wl12xx_acx_config_hangover() 1725 acx->decrease_delta = conf->decrease_delta; wl12xx_acx_config_hangover() 1726 acx->quiet_time = conf->quiet_time; wl12xx_acx_config_hangover() 1727 acx->increase_time = conf->increase_time; wl12xx_acx_config_hangover() 1728 acx->window_size = conf->window_size; wl12xx_acx_config_hangover()
|
H A D | debugfs.c | 148 wl->conf.conf_sub_struct.param); \ 171 wl->conf.conf_sub_struct.param = value; \ 265 wl->conf.conn.dynamic_ps_timeout); dynamic_ps_timeout_read() 290 wl->conf.conn.dynamic_ps_timeout = value; dynamic_ps_timeout_write() 329 wl->conf.conn.forced_ps); forced_ps_read() 354 if (wl->conf.conn.forced_ps == value) forced_ps_write() 357 wl->conf.conn.forced_ps = value; forced_ps_write() 398 wl->conf.scan.split_scan_timeout / 1000); split_scan_timeout_read() 420 wl->conf.scan.split_scan_timeout = value * 1000; split_scan_timeout_write() 648 if (wl->conf.conn.wake_up_event == CONF_WAKE_UP_EVENT_DTIM || dtim_interval_read() 649 wl->conf.conn.wake_up_event == CONF_WAKE_UP_EVENT_N_DTIM) dtim_interval_read() 650 value = wl->conf.conn.listen_interval; dtim_interval_read() 678 wl->conf.conn.listen_interval = value; dtim_interval_write() 681 wl->conf.conn.wake_up_event = CONF_WAKE_UP_EVENT_DTIM; dtim_interval_write() 683 wl->conf.conn.wake_up_event = CONF_WAKE_UP_EVENT_N_DTIM; dtim_interval_write() 709 if (wl->conf.conn.suspend_wake_up_event == CONF_WAKE_UP_EVENT_DTIM || suspend_dtim_interval_read() 710 wl->conf.conn.suspend_wake_up_event == CONF_WAKE_UP_EVENT_N_DTIM) suspend_dtim_interval_read() 711 value = wl->conf.conn.suspend_listen_interval; suspend_dtim_interval_read() 739 wl->conf.conn.suspend_listen_interval = value; suspend_dtim_interval_write() 742 wl->conf.conn.suspend_wake_up_event = CONF_WAKE_UP_EVENT_DTIM; suspend_dtim_interval_write() 744 wl->conf.conn.suspend_wake_up_event = CONF_WAKE_UP_EVENT_N_DTIM; suspend_dtim_interval_write() 764 if (wl->conf.conn.wake_up_event == CONF_WAKE_UP_EVENT_BEACON || beacon_interval_read() 765 wl->conf.conn.wake_up_event == CONF_WAKE_UP_EVENT_N_BEACONS) beacon_interval_read() 766 value = wl->conf.conn.listen_interval; beacon_interval_read() 794 wl->conf.conn.listen_interval = value; beacon_interval_write() 797 wl->conf.conn.wake_up_event = CONF_WAKE_UP_EVENT_BEACON; beacon_interval_write() 799 wl->conf.conn.wake_up_event = CONF_WAKE_UP_EVENT_N_BEACONS; beacon_interval_write() 839 wl->conf.rx_streaming.interval = value; rx_streaming_interval_write() 861 "%d\n", wl->conf.rx_streaming.interval); rx_streaming_interval_read() 894 wl->conf.rx_streaming.always = value; rx_streaming_always_write() 916 "%d\n", wl->conf.rx_streaming.always); rx_streaming_always_read() 1014 wl->conf.conn.sta_sleep_auth = value; sleep_auth_write()
|
H A D | ps.c | 100 timeout = wl->conf.conn.forced_ps ? 179 u16 timeout = wl->conf.conn.dynamic_ps_timeout; wl1271_ps_set_mode() 188 wl->conf.conn.wake_up_event, wl1271_ps_set_mode() 189 wl->conf.conn.listen_interval); wl1271_ps_set_mode()
|
H A D | init.c | 482 for (i = 0; i < wl->conf.tx.ac_conf_count; i++) { wl1271_init_ap_rates() 586 u8 sta_auth = wl->conf.conn.sta_sleep_auth; wl1271_init_vif_specific() 620 BUG_ON(wl->conf.tx.tid_conf_count != wl->conf.tx.ac_conf_count); wl1271_init_vif_specific() 621 for (i = 0; i < wl->conf.tx.tid_conf_count; i++) { wl1271_init_vif_specific() 622 conf_ac = &wl->conf.tx.ac_conf[i]; wl1271_init_vif_specific() 629 conf_tid = &wl->conf.tx.tid_conf[i]; wl1271_init_vif_specific()
|
H A D | event.c | 178 u32 num_packets = wl->conf.tx.max_tx_retries; wlcore_disconnect_sta() 240 int delay = wl->conf.conn.synch_fail_thold * wlcore_event_beacon_loss() 241 wl->conf.conn.bss_lose_timeout; wlcore_event_beacon_loss()
|
H A D | main.c | 117 int period = wl->conf.rx_streaming.interval; wl1271_recalc_rx_streaming() 126 (wl->conf.rx_streaming.always || wl1271_recalc_rx_streaming() 149 (!wl->conf.rx_streaming.always && wl1271_rx_streaming_enable_work() 153 if (!wl->conf.rx_streaming.interval) wl1271_rx_streaming_enable_work() 166 jiffies + msecs_to_jiffies(wl->conf.rx_streaming.duration)); wl1271_rx_streaming_enable_work() 216 msecs_to_jiffies(wl->conf.tx.tx_watchdog_timeout)); wl12xx_rearm_tx_watchdog_locked() 265 wl->conf.tx.tx_watchdog_timeout); wl12xx_tx_watchdog_work() 276 wl->conf.tx.tx_watchdog_timeout); wl12xx_tx_watchdog_work() 290 wl->conf.tx.tx_watchdog_timeout, wl12xx_tx_watchdog_work() 297 wl->conf.tx.tx_watchdog_timeout); wl12xx_tx_watchdog_work() 312 wl->conf.fwlog.mem_blocks = fwlog_mem_blocks; wlcore_adjust_conf() 316 fwlog_mem_blocks, wl->conf.fwlog.mem_blocks); wlcore_adjust_conf() 322 wl->conf.fwlog.mode = WL12XX_FWLOG_CONTINUOUS; wlcore_adjust_conf() 324 wl->conf.fwlog.mode = WL12XX_FWLOG_ON_DEMAND; wlcore_adjust_conf() 326 wl->conf.fwlog.mode = WL12XX_FWLOG_CONTINUOUS; wlcore_adjust_conf() 327 wl->conf.fwlog.output = WL12XX_FWLOG_OUTPUT_DBG_PINS; wlcore_adjust_conf() 329 wl->conf.fwlog.mem_blocks = 0; wlcore_adjust_conf() 330 wl->conf.fwlog.output = WL12XX_FWLOG_OUTPUT_NONE; wlcore_adjust_conf() 337 wl->conf.recovery.bug_on_recovery = (u8) bug_on_recovery; wlcore_adjust_conf() 340 wl->conf.recovery.no_recovery = (u8) no_recovery; wlcore_adjust_conf() 836 (wl->conf.fwlog.mem_blocks == 0)) wl12xx_read_fwlog_panic() 853 wl->conf.fwlog.output != WL12XX_FWLOG_OUTPUT_DBG_PINS) wl12xx_read_fwlog_panic() 865 if (wl->conf.fwlog.mode == WL12XX_FWLOG_CONTINUOUS) { wl12xx_read_fwlog_panic() 995 if (wl->conf.fwlog.output == WL12XX_FWLOG_OUTPUT_HOST) wl1271_recovery_work() 1000 BUG_ON(wl->conf.recovery.bug_on_recovery && wl1271_recovery_work() 1003 if (wl->conf.recovery.no_recovery) { wl1271_recovery_work() 1682 if ((wl->conf.conn.suspend_wake_up_event == wl1271_configure_suspend_sta() 1683 wl->conf.conn.wake_up_event) && wl1271_configure_suspend_sta() 1684 (wl->conf.conn.suspend_listen_interval == wl1271_configure_suspend_sta() 1685 wl->conf.conn.listen_interval)) wl1271_configure_suspend_sta() 1689 wl->conf.conn.suspend_wake_up_event, wl1271_configure_suspend_sta() 1690 wl->conf.conn.suspend_listen_interval); wl1271_configure_suspend_sta() 1748 if ((wl->conf.conn.suspend_wake_up_event == wl1271_configure_resume() 1749 wl->conf.conn.wake_up_event) && wl1271_configure_resume() 1750 (wl->conf.conn.suspend_listen_interval == wl1271_configure_resume() 1751 wl->conf.conn.listen_interval)) wl1271_configure_resume() 1755 wl->conf.conn.wake_up_event, wl1271_configure_resume() 1756 wl->conf.conn.listen_interval); wl1271_configure_resume() 1813 !!wl->conf.conn.suspend_rx_ba_activity); 2317 wlvif->bitrate_masks[IEEE80211_BAND_2GHZ] = wl->conf.tx.basic_rate; wl12xx_init_vif_data() 2318 wlvif->bitrate_masks[IEEE80211_BAND_5GHZ] = wl->conf.tx.basic_rate_5; wl12xx_init_vif_data() 2790 u8 sta_auth = wl->conf.conn.sta_sleep_auth; __wl1271_op_remove_interface() 3119 struct ieee80211_conf *conf, u32 changed) wl12xx_config_vif() 3126 if (conf->power_level != wlvif->power_level) { wl12xx_config_vif() 3127 ret = wl1271_acx_tx_power(wl, wlvif, conf->power_level); wl12xx_config_vif() 3131 wlvif->power_level = conf->power_level; wl12xx_config_vif() 3141 struct ieee80211_conf *conf = &hw->conf; wl1271_op_config() local 3146 conf->flags & IEEE80211_CONF_PS ? "on" : "off", wl1271_op_config() 3147 conf->power_level, wl1271_op_config() 3148 conf->flags & IEEE80211_CONF_IDLE ? "idle" : "in use", wl1271_op_config() 3154 wl->power_level = conf->power_level; wl1271_op_config() 3165 ret = wl12xx_config_vif(wl, wlvif, conf, changed); wl12xx_for_each_wlvif() 4500 if (wl->conf.conn.forced_ps) { wl1271_bss_info_changed_sta() 4883 wl1271_debug(DEBUG_MAC80211, "mac80211 conf tx %d", queue); wl1271_op_conf_tx() 4957 struct ieee80211_conf *conf = &hw->conf; wl1271_op_get_survey() local 4962 survey->channel = conf->chandef.chan; wl1271_op_get_survey() 6102 wl->hw->max_listen_interval = wl->conf.conn.max_listen_interval; wl1271_init_ieee80211() 6218 wl->hw->max_rx_aggregation_subframes = wl->conf.ht.rx_ba_win_size; wl1271_init_ieee80211() 3118 wl12xx_config_vif(struct wl1271 *wl, struct wl12xx_vif *wlvif, struct ieee80211_conf *conf, u32 changed) wl12xx_config_vif() argument
|
/linux-4.4.14/net/openvswitch/ |
H A D | vport-vxlan.c | 65 struct vxlan_config *conf) vxlan_configure_exts() 78 conf->flags |= VXLAN_F_GBP; vxlan_configure_exts() 91 struct vxlan_config conf = { vxlan_tnl_create() local 105 conf.dst_port = htons(nla_get_u16(a)); vxlan_tnl_create() 118 err = vxlan_configure_exts(vport, a, &conf); vxlan_tnl_create() 126 dev = vxlan_dev_create(net, parms->name, NET_NAME_USER, &conf); vxlan_tnl_create() 64 vxlan_configure_exts(struct vport *vport, struct nlattr *attr, struct vxlan_config *conf) vxlan_configure_exts() argument
|
/linux-4.4.14/sound/soc/tegra/ |
H A D | tegra30_ahub.c | 687 struct tegra30_ahub_cif_conf *conf) tegra30_ahub_set_cif() 691 value = (conf->threshold << tegra30_ahub_set_cif() 693 ((conf->audio_channels - 1) << tegra30_ahub_set_cif() 695 ((conf->client_channels - 1) << tegra30_ahub_set_cif() 697 (conf->audio_bits << tegra30_ahub_set_cif() 699 (conf->client_bits << tegra30_ahub_set_cif() 701 (conf->expand << tegra30_ahub_set_cif() 703 (conf->stereo_conv << tegra30_ahub_set_cif() 705 (conf->replicate << tegra30_ahub_set_cif() 707 (conf->direction << tegra30_ahub_set_cif() 709 (conf->truncate << tegra30_ahub_set_cif() 711 (conf->mono_conv << tegra30_ahub_set_cif() 719 struct tegra30_ahub_cif_conf *conf) tegra124_ahub_set_cif() 723 value = (conf->threshold << tegra124_ahub_set_cif() 725 ((conf->audio_channels - 1) << tegra124_ahub_set_cif() 727 ((conf->client_channels - 1) << tegra124_ahub_set_cif() 729 (conf->audio_bits << tegra124_ahub_set_cif() 731 (conf->client_bits << tegra124_ahub_set_cif() 733 (conf->expand << tegra124_ahub_set_cif() 735 (conf->stereo_conv << tegra124_ahub_set_cif() 737 (conf->replicate << tegra124_ahub_set_cif() 739 (conf->direction << tegra124_ahub_set_cif() 741 (conf->truncate << tegra124_ahub_set_cif() 743 (conf->mono_conv << tegra124_ahub_set_cif() 686 tegra30_ahub_set_cif(struct regmap *regmap, unsigned int reg, struct tegra30_ahub_cif_conf *conf) tegra30_ahub_set_cif() argument 718 tegra124_ahub_set_cif(struct regmap *regmap, unsigned int reg, struct tegra30_ahub_cif_conf *conf) tegra124_ahub_set_cif() argument
|
H A D | tegra30_ahub.h | 500 struct tegra30_ahub_cif_conf *conf); 502 struct tegra30_ahub_cif_conf *conf); 508 struct tegra30_ahub_cif_conf *conf);
|
/linux-4.4.14/drivers/isdn/hysdn/ |
H A D | hysdn_procconf.c | 3 * Linux driver for HYSDN cards, /proc/net filesystem dir and conf functions. 30 /* defines and data structure for conf write operations */ 42 unsigned char conf_line[CONF_LINE_LEN]; /* buffered conf line */ 59 hysdn_addlog(cnf->card, "conf line: %s", cp); process_line() 71 hysdn_addlog(cnf->card, "conf channel invalid %d", i); process_line() 79 hysdn_addlog(cnf->card, "conf chan=%d %s", cnf->channel, cp); process_line() 87 /* conf file operations and tables */ 91 /* write conf file -> boot or send cfg line to card */ 117 /* conf data has been detected */ hysdn_conf_write() 119 cnf->state = CONF_STATE_CONF; /* requested conf data write */ hysdn_conf_write() 147 else { /* conf write active */ hysdn_conf_write() 203 } /* conf write active */ hysdn_conf_write() 209 /* read conf file -> output card info data */ 226 /* open conf file */ 244 /* write only access -> write boot file or conf line */ hysdn_conf_open() 318 /* write only access -> write boot file or conf line */ hysdn_conf_close() 337 /* table for conf filesystem functions defined above. */
|
H A D | hysdn_defs.h | 82 #define LOG_CNF_LINE 0x00000100 /* all conf lines are put to procfs */ 83 #define LOG_CNF_DATA 0x00000200 /* non comment conf lines are shown with channel */ 84 #define LOG_CNF_MISC 0x00000400 /* additional conf line debug outputs */
|
/linux-4.4.14/drivers/thermal/ti-soc-thermal/ |
H A D | ti-bandgap.c | 87 t = bgp->conf->sensors[(id)].registers; \ 113 for (i = 0; i < bgp->conf->sensor_count; i++) ti_bandgap_power() 167 tsr = bgp->conf->sensors[id].registers; ti_bandgap_read_temp() 216 for (i = 0; i < bgp->conf->sensor_count; i++) { ti_bandgap_talert_irq_handler() 217 tsr = bgp->conf->sensors[i].registers; ti_bandgap_talert_irq_handler() 247 __func__, bgp->conf->sensors[i].domain, ti_bandgap_talert_irq_handler() 251 if (bgp->conf->report_temperature) ti_bandgap_talert_irq_handler() 252 bgp->conf->report_temperature(bgp, i); ti_bandgap_talert_irq_handler() 298 const struct ti_bandgap_data *conf = bgp->conf; ti_bandgap_adc_to_mcelsius() local 301 if (adc_val < conf->adc_start_val || adc_val > conf->adc_end_val) ti_bandgap_adc_to_mcelsius() 304 *t = bgp->conf->conv_table[adc_val - conf->adc_start_val]; ti_bandgap_adc_to_mcelsius() 324 const struct ti_bandgap_data *conf = bgp->conf; ti_bandgap_mcelsius_to_adc() local 325 const int *conv_table = bgp->conf->conv_table; ti_bandgap_mcelsius_to_adc() 329 high = conf->adc_end_val - conf->adc_start_val; ti_bandgap_mcelsius_to_adc() 343 *adc = conf->adc_start_val + low; ti_bandgap_mcelsius_to_adc() 399 tsr = bgp->conf->sensors[id].registers; ti_bandgap_unmask_interrupts() 433 struct temp_sensor_data *ts_data = bgp->conf->sensors[id].ts_data; ti_bandgap_update_alert_threshold() 438 tsr = bgp->conf->sensors[id].registers; ti_bandgap_update_alert_threshold() 537 if ((id < 0) || (id >= bgp->conf->sensor_count)) { ti_bandgap_validate() 576 ts_data = bgp->conf->sensors[id].ts_data; _ti_bandgap_write_threshold() 577 tsr = bgp->conf->sensors[id].registers; _ti_bandgap_write_threshold() 630 tsr = bgp->conf->sensors[id].registers; _ti_bandgap_read_threshold() 717 tsr = bgp->conf->sensors[id].registers; ti_bandgap_read_counter() 737 tsr = bgp->conf->sensors[id].registers; ti_bandgap_read_counter_delay() 990 tsr = bgp->conf->sensors[id].registers; ti_bandgap_force_single_read() 1027 for (i = 0; i < bgp->conf->sensor_count; i++) { ti_bandgap_set_continuous_mode() 1069 tsr = bgp->conf->sensors[id].registers; ti_bandgap_get_trend() 1224 bgp->conf = of_id->data; ti_bandgap_build() 1228 bgp->conf->sensor_count, GFP_KERNEL); ti_bandgap_build() 1290 bgp->fclock = clk_get(NULL, bgp->conf->fclock_name); ti_bandgap_probe() 1298 bgp->div_clk = clk_get(NULL, bgp->conf->div_ck_name); ti_bandgap_probe() 1306 for (i = 0; i < bgp->conf->sensor_count; i++) { ti_bandgap_probe() 1310 tsr = bgp->conf->sensors[i].registers; ti_bandgap_probe() 1323 bgp->conf->sensors[0].ts_data->max_freq); ti_bandgap_probe() 1324 if (clk_rate < bgp->conf->sensors[0].ts_data->min_freq || ti_bandgap_probe() 1348 for (i = 0; i < bgp->conf->sensor_count; i++) ti_bandgap_probe() 1352 for (i = 0; i < bgp->conf->sensor_count; i++) { ti_bandgap_probe() 1355 ts_data = bgp->conf->sensors[i].ts_data; ti_bandgap_probe() 1382 for (i = 0; i < bgp->conf->sensor_count; i++) ti_bandgap_probe() 1387 for (i = 0; i < bgp->conf->sensor_count; i++) { ti_bandgap_probe() 1390 if (bgp->conf->sensors[i].register_cooling) { ti_bandgap_probe() 1391 ret = bgp->conf->sensors[i].register_cooling(bgp, i); ti_bandgap_probe() 1396 if (bgp->conf->expose_sensor) { ti_bandgap_probe() 1397 domain = bgp->conf->sensors[i].domain; ti_bandgap_probe() 1398 ret = bgp->conf->expose_sensor(bgp, i, domain); ti_bandgap_probe() 1413 i = bgp->conf->sensor_count; ti_bandgap_probe() 1421 if (bgp->conf->sensors[i].unregister_cooling) ti_bandgap_probe() 1422 bgp->conf->sensors[i].unregister_cooling(bgp, i); ti_bandgap_probe() 1425 if (bgp->conf->sensors[i].unregister_cooling) ti_bandgap_probe() 1426 bgp->conf->sensors[i].unregister_cooling(bgp, i); ti_bandgap_probe() 1427 if (bgp->conf->remove_sensor) ti_bandgap_probe() 1428 bgp->conf->remove_sensor(bgp, i); ti_bandgap_probe() 1453 for (i = 0; i < bgp->conf->sensor_count; i++) { ti_bandgap_remove() 1454 if (bgp->conf->sensors[i].unregister_cooling) ti_bandgap_remove() 1455 bgp->conf->sensors[i].unregister_cooling(bgp, i); ti_bandgap_remove() 1457 if (bgp->conf->remove_sensor) ti_bandgap_remove() 1458 bgp->conf->remove_sensor(bgp, i); ti_bandgap_remove() 1484 for (i = 0; i < bgp->conf->sensor_count; i++) { ti_bandgap_save_ctxt() 1489 tsr = bgp->conf->sensors[i].registers; ti_bandgap_save_ctxt() 1516 for (i = 0; i < bgp->conf->sensor_count; i++) { ti_bandgap_restore_ctxt() 1522 tsr = bgp->conf->sensors[i].registers; ti_bandgap_restore_ctxt()
|
H A D | ti-bandgap.h | 226 * @conf: struct with bandgap configuration set (# sensors, conv_table, etc) 237 * entries are inside the @conf structure. 242 const struct ti_bandgap_data *conf; member in struct:ti_bandgap 344 ((b)->conf->features & TI_BANDGAP_FEATURE_ ## f)
|
/linux-4.4.14/arch/mips/txx9/generic/ |
H A D | setup_tx3927.c | 34 unsigned int conf; tx3927_setup() local 97 conf = read_c0_conf(); tx3927_setup() 98 if (conf & TX39_CONF_DCE) { tx3927_setup() 99 if (!(conf & TX39_CONF_WBON)) tx3927_setup() 101 else if (!(conf & TX39_CONF_CWFON)) tx3927_setup()
|
H A D | setup.c | 185 unsigned int conf = read_c0_config(); early_flush_dcache() local 186 unsigned int dc_size = 1 << (12 + ((conf & CONF_DC) >> 6)); early_flush_dcache() 202 unsigned int conf; txx9_cache_fixup() local 204 conf = read_c0_config(); txx9_cache_fixup() 207 conf |= TX49_CONF_IC; txx9_cache_fixup() 208 write_c0_config(conf); txx9_cache_fixup() 212 conf |= TX49_CONF_DC; txx9_cache_fixup() 213 write_c0_config(conf); txx9_cache_fixup() 217 conf = read_c0_config(); txx9_cache_fixup() 219 conf &= ~TX49_CONF_IC; txx9_cache_fixup() 221 conf &= ~TX49_CONF_DC; txx9_cache_fixup() 222 write_c0_config(conf); txx9_cache_fixup() 224 if (conf & TX49_CONF_IC) txx9_cache_fixup() 226 if (conf & TX49_CONF_DC) txx9_cache_fixup() 233 unsigned int conf = read_c0_config(); early_flush_dcache() local 234 unsigned int dc_size = 1 << (10 + ((conf & TX39_CONF_DCS_MASK) >> early_flush_dcache() 249 unsigned int conf; txx9_cache_fixup() local 251 conf = read_c0_config(); txx9_cache_fixup() 254 conf &= ~TX39_CONF_ICE; txx9_cache_fixup() 255 write_c0_config(conf); txx9_cache_fixup() 259 conf &= ~TX39_CONF_DCE; txx9_cache_fixup() 260 write_c0_config(conf); txx9_cache_fixup() 264 conf = read_c0_config(); txx9_cache_fixup() 266 conf |= TX39_CONF_ICE; txx9_cache_fixup() 268 conf |= TX39_CONF_DCE; txx9_cache_fixup() 269 write_c0_config(conf); txx9_cache_fixup() 271 if (!(conf & TX39_CONF_ICE)) txx9_cache_fixup() 273 if (!(conf & TX39_CONF_DCE)) txx9_cache_fixup()
|
/linux-4.4.14/drivers/pinctrl/ |
H A D | pinctrl-st.c | 127 #define ST_PINCONF_UNPACK(conf, param)\ 128 ((conf >> ST_PINCONF_ ##param ##_SHIFT) \ 131 #define ST_PINCONF_PACK(conf, val, param) (conf |=\ 139 #define ST_PINCONF_UNPACK_OE(conf) ST_PINCONF_UNPACK(conf, OE) 140 #define ST_PINCONF_PACK_OE(conf) ST_PINCONF_PACK(conf, 1, OE) 146 #define ST_PINCONF_UNPACK_PU(conf) ST_PINCONF_UNPACK(conf, PU) 147 #define ST_PINCONF_PACK_PU(conf) ST_PINCONF_PACK(conf, 1, PU) 153 #define ST_PINCONF_UNPACK_OD(conf) ST_PINCONF_UNPACK(conf, OD) 154 #define ST_PINCONF_PACK_OD(conf) ST_PINCONF_PACK(conf, 1, OD) 159 #define ST_PINCONF_UNPACK_RT(conf) ST_PINCONF_UNPACK(conf, RT) 160 #define ST_PINCONF_PACK_RT(conf) ST_PINCONF_PACK(conf, 1, RT) 165 #define ST_PINCONF_UNPACK_RT_INVERTCLK(conf) \ 166 ST_PINCONF_UNPACK(conf, RT_INVERTCLK) 167 #define ST_PINCONF_PACK_RT_INVERTCLK(conf) \ 168 ST_PINCONF_PACK(conf, 1, RT_INVERTCLK) 173 #define ST_PINCONF_UNPACK_RT_CLKNOTDATA(conf) \ 174 ST_PINCONF_UNPACK(conf, RT_CLKNOTDATA) 175 #define ST_PINCONF_PACK_RT_CLKNOTDATA(conf) \ 176 ST_PINCONF_PACK(conf, 1, RT_CLKNOTDATA) 181 #define ST_PINCONF_UNPACK_RT_DOUBLE_EDGE(conf) \ 182 ST_PINCONF_UNPACK(conf, RT_DOUBLE_EDGE) 183 #define ST_PINCONF_PACK_RT_DOUBLE_EDGE(conf) \ 184 ST_PINCONF_PACK(conf, 1, RT_DOUBLE_EDGE) 189 #define ST_PINCONF_UNPACK_RT_CLK(conf) ST_PINCONF_UNPACK(conf, RT_CLK) 190 #define ST_PINCONF_PACK_RT_CLK(conf, val) ST_PINCONF_PACK(conf, val, RT_CLK) 195 #define ST_PINCONF_UNPACK_RT_DELAY(conf) ST_PINCONF_UNPACK(conf, RT_DELAY) 196 #define ST_PINCONF_PACK_RT_DELAY(conf, val) \ 197 ST_PINCONF_PACK(conf, val, RT_DELAY) 314 #define ST_IRQ_EDGE_CONF(conf, pin) \ 315 (conf >> (pin * ST_IRQ_EDGE_CONF_BITS_PER_PIN) & ST_IRQ_EDGE_MASK) 956 struct st_pinconf *conf = info->groups[group].pin_conf; st_pmx_set_mux() local 961 pc = st_get_pio_control(pctldev, conf[i].pin); st_pmx_set_mux() 962 st_pctl_set_function(pc, conf[i].pin, conf[i].altfunc); st_pmx_set_mux() 1224 struct st_pinconf *conf; st_pctl_dt_parse_groups() local 1249 npins * sizeof(*conf), GFP_KERNEL); 1260 conf = &grp->pin_conf[i]; for_each_property_of_node() 1265 conf->pin = of_get_named_gpio(pins, pp->name, 0); for_each_property_of_node() 1266 conf->name = pp->name; for_each_property_of_node() 1267 grp->pins[i] = conf->pin; for_each_property_of_node() 1269 conf->altfunc = be32_to_cpup(list++); for_each_property_of_node() 1270 conf->config = 0; for_each_property_of_node() 1272 conf->config |= be32_to_cpup(list++); for_each_property_of_node() 1276 conf->config |= be32_to_cpup(list++); for_each_property_of_node() 1278 conf->config |= be32_to_cpup(list++); for_each_property_of_node() 1281 conf->config |= be32_to_cpup(list++); for_each_property_of_node()
|
H A D | pinctrl-at91-pio4.c | 381 unsigned pin_id, u32 conf) atmel_pin_config_write() 392 writel_relaxed(conf, addr + ATMEL_PIO_CFGR); atmel_pin_config_write() 507 * Reserve maps, at least there is a mux map and an optional conf atmel_pctl_dt_subnode_to_map() 623 u32 conf; atmel_pmx_set_mux() local 629 conf = atmel_pin_config_read(pctldev, pin); atmel_pmx_set_mux() 630 conf &= (~ATMEL_PIO_CFGR_FUNC_MASK); atmel_pmx_set_mux() 631 conf |= (function & ATMEL_PIO_CFGR_FUNC_MASK); atmel_pmx_set_mux() 632 dev_dbg(pctldev->dev, "pin: %u, conf: 0x%08x\n", pin, conf); atmel_pmx_set_mux() 633 atmel_pin_config_write(pctldev, pin, conf); atmel_pmx_set_mux() 701 u32 mask, conf = 0; atmel_conf_pin_config_group_set() local 704 conf = atmel_pin_config_read(pctldev, pin_id); atmel_conf_pin_config_group_set() 715 conf &= (~ATMEL_PIO_PUEN_MASK); atmel_conf_pin_config_group_set() 716 conf &= (~ATMEL_PIO_PDEN_MASK); atmel_conf_pin_config_group_set() 719 conf |= ATMEL_PIO_PUEN_MASK; atmel_conf_pin_config_group_set() 720 conf &= (~ATMEL_PIO_PDEN_MASK); atmel_conf_pin_config_group_set() 723 conf |= ATMEL_PIO_PDEN_MASK; atmel_conf_pin_config_group_set() 724 conf &= (~ATMEL_PIO_PUEN_MASK); atmel_conf_pin_config_group_set() 728 conf &= (~ATMEL_PIO_OPD_MASK); atmel_conf_pin_config_group_set() 730 conf |= ATMEL_PIO_OPD_MASK; atmel_conf_pin_config_group_set() 734 conf |= ATMEL_PIO_SCHMITT_MASK; atmel_conf_pin_config_group_set() 736 conf &= (~ATMEL_PIO_SCHMITT_MASK); atmel_conf_pin_config_group_set() 740 conf &= (~ATMEL_PIO_IFEN_MASK); atmel_conf_pin_config_group_set() 741 conf &= (~ATMEL_PIO_IFSCEN_MASK); atmel_conf_pin_config_group_set() 750 conf |= ATMEL_PIO_IFEN_MASK; atmel_conf_pin_config_group_set() 751 conf |= ATMEL_PIO_IFSCEN_MASK; atmel_conf_pin_config_group_set() 755 conf |= ATMEL_PIO_DIR_MASK; atmel_conf_pin_config_group_set() 778 dev_dbg(pctldev->dev, "%s: reg=0x%08x\n", __func__, conf); atmel_conf_pin_config_group_set() 779 atmel_pin_config_write(pctldev, pin_id, conf); atmel_conf_pin_config_group_set() 788 u32 conf; atmel_conf_pin_config_dbg_show() local 798 conf = atmel_pin_config_read(pctldev, pin_id); atmel_conf_pin_config_dbg_show() 799 if (conf & ATMEL_PIO_PUEN_MASK) atmel_conf_pin_config_dbg_show() 801 if (conf & ATMEL_PIO_PDEN_MASK) atmel_conf_pin_config_dbg_show() 803 if (conf & ATMEL_PIO_IFEN_MASK) atmel_conf_pin_config_dbg_show() 805 if (conf & ATMEL_PIO_OPD_MASK) atmel_conf_pin_config_dbg_show() 807 if (conf & ATMEL_PIO_SCHMITT_MASK) atmel_conf_pin_config_dbg_show() 380 atmel_pin_config_write(struct pinctrl_dev *pctldev, unsigned pin_id, u32 conf) atmel_pin_config_write() argument
|
H A D | pinctrl-lantiq.h | 30 #define LTQ_PINCONF_UNPACK_PARAM(conf) ((conf) >> 16) 31 #define LTQ_PINCONF_UNPACK_ARG(conf) ((conf) & 0xffff)
|
H A D | pinctrl-single.c | 111 struct pcs_conf_vals *conf; member in struct:pcs_function 577 } else if (param != func->conf[i].param) { pcs_pinconf_get() 582 data = pcs->read(pcs->base + offset) & func->conf[i].mask; pcs_pinconf_get() 583 switch (func->conf[i].param) { pcs_pinconf_get() 588 if ((data != func->conf[i].enable) || pcs_pinconf_get() 589 (data == func->conf[i].disable)) pcs_pinconf_get() 596 switch (func->conf[j].param) { pcs_pinconf_get() 598 if (data != func->conf[j].enable) pcs_pinconf_get() 636 != func->conf[i].param) pcs_pinconf_set() 642 switch (func->conf[i].param) { pcs_pinconf_set() 648 shift = ffs(func->conf[i].mask) - 1; pcs_pinconf_set() 649 data &= ~func->conf[i].mask; pcs_pinconf_set() 650 data |= (arg << shift) & func->conf[i].mask; pcs_pinconf_set() 662 data &= ~func->conf[i].mask; pcs_pinconf_set() 664 data |= func->conf[i].enable; pcs_pinconf_set() 666 data |= func->conf[i].disable; pcs_pinconf_set() 986 static void add_config(struct pcs_conf_vals **conf, enum pin_config_param param, add_config() argument 990 (*conf)->param = param; add_config() 991 (*conf)->val = value; add_config() 992 (*conf)->enable = enable; add_config() 993 (*conf)->disable = disable; add_config() 994 (*conf)->mask = mask; add_config() 995 (*conf)++; add_config() 1008 struct pcs_conf_vals **conf, unsigned long **settings) pcs_add_conf2() 1020 add_config(conf, param, value[0], 0, 0, value[1]); pcs_add_conf2() 1027 struct pcs_conf_vals **conf, unsigned long **settings) pcs_add_conf4() 1046 add_config(conf, param, value[0], value[1], value[2], value[3]); pcs_add_conf4() 1058 struct pcs_conf_vals *conf = NULL; pcs_parse_pinconf() local 1088 func->conf = devm_kzalloc(pcs->dev, pcs_parse_pinconf() 1091 if (!func->conf) pcs_parse_pinconf() 1094 conf = &(func->conf[0]); pcs_parse_pinconf() 1104 &conf, &s); pcs_parse_pinconf() 1107 &conf, &s); pcs_parse_pinconf() 1006 pcs_add_conf2(struct pcs_device *pcs, struct device_node *np, const char *name, enum pin_config_param param, struct pcs_conf_vals **conf, unsigned long **settings) pcs_add_conf2() argument 1025 pcs_add_conf4(struct pcs_device *pcs, struct device_node *np, const char *name, enum pin_config_param param, struct pcs_conf_vals **conf, unsigned long **settings) pcs_add_conf4() argument
|
H A D | pinctrl-coh901.c | 548 const struct u300_gpio_confdata *conf) u300_gpio_init_pin() 551 if (conf->output) { u300_gpio_init_pin() 552 u300_gpio_direction_output(&gpio->chip, offset, conf->outval); u300_gpio_init_pin() 563 offset, conf->outval); u300_gpio_init_pin() 571 u300_gpio_config_set(&gpio->chip, offset, conf->bias_mode); u300_gpio_init_pin() 574 offset, conf->bias_mode); u300_gpio_init_pin() 585 const struct u300_gpio_confdata *conf; u300_gpio_init_coh901571() local 588 conf = &bs335_gpio_config[i][j]; u300_gpio_init_coh901571() 589 u300_gpio_init_pin(gpio, offset, conf); u300_gpio_init_coh901571() 546 u300_gpio_init_pin(struct u300_gpio *gpio, int offset, const struct u300_gpio_confdata *conf) u300_gpio_init_pin() argument
|
H A D | pinctrl-at91.c | 105 * @conf: the configuration of the pin: PULL_UP, MULTIDRIVE etc... 111 unsigned long conf; member in struct:at91_pmx_pin 296 new_map[i].data.configs.configs = &grp->pins_conf[i].conf; at91_dt_node_to_map() 645 dev_dbg(dev, "pio%c%d configured as periph%c with conf = 0x%lx\n", at91_pin_dbg() 646 pin->bank + 'A', pin->pin, pin->mux - 1 + 'A', pin->conf); at91_pin_dbg() 648 dev_dbg(dev, "pio%c%d configured as gpio with conf = 0x%lx\n", at91_pin_dbg() 649 pin->bank + 'A', pin->pin, pin->conf); at91_pin_dbg() 660 dev_err(info->dev, "%s: pin conf %d bank_id %d >= nbanks %d\n", pin_check_config() 666 dev_err(info->dev, "%s: pin conf %d bank_id %d not enabled\n", pin_check_config() 672 dev_err(info->dev, "%s: pin conf %d pin_bank_id %d >= %d\n", pin_check_config() 683 dev_err(info->dev, "%s: pin conf %d mux_id %d >= nmux %d\n", pin_check_config() 689 dev_err(info->dev, "%s: pin conf %d mux_id %d not supported for pio%c%d\n", pin_check_config() 1086 pin->conf = be32_to_cpu(*list++); at91_pinctrl_parse_groups()
|
/linux-4.4.14/arch/parisc/ |
H A D | Makefile | 97 PALOCONF := $(shell if [ -f $(src)/palo.conf ]; then echo $(src)/palo.conf; \ 98 else echo $(obj)/palo.conf; \ 108 cp $(src)/arch/parisc/defpalo.conf $(obj)/palo.conf; \ 109 echo 'A generic palo config file ($(obj)/palo.conf) has been created for you.'; \ 135 MRPROPER_FILES += palo.conf
|
/linux-4.4.14/drivers/staging/vt6656/ |
H A D | main_usb.c | 652 struct ieee80211_conf *conf = &hw->conf; vnt_config() local 656 if (conf->flags & IEEE80211_CONF_PS) vnt_config() 657 vnt_enable_power_saving(priv, conf->listen_interval); vnt_config() 663 (conf->flags & IEEE80211_CONF_OFFCHANNEL)) { vnt_config() 664 vnt_set_channel(priv, conf->chandef.chan->hw_value); vnt_config() 666 if (conf->chandef.chan->band == IEEE80211_BAND_5GHZ) vnt_config() 685 conf->chandef.chan->hw_value); vnt_config() 692 struct ieee80211_vif *vif, struct ieee80211_bss_conf *conf, vnt_bss_info_changed() 697 priv->current_aid = conf->aid; vnt_bss_info_changed() 699 if (changed & BSS_CHANGED_BSSID && conf->bssid) vnt_bss_info_changed() 700 vnt_mac_set_bssid_addr(priv, (u8 *)conf->bssid); vnt_bss_info_changed() 704 priv->basic_rates = conf->basic_rates; vnt_bss_info_changed() 708 dev_dbg(&priv->usb->dev, "basic rates %x\n", conf->basic_rates); vnt_bss_info_changed() 712 if (conf->use_short_preamble) { vnt_bss_info_changed() 722 if (conf->use_cts_prot) vnt_bss_info_changed() 729 if (conf->use_short_slot) vnt_bss_info_changed() 741 conf->chandef.chan->hw_value); vnt_bss_info_changed() 745 "Beacon enable %d\n", conf->enable_beacon); vnt_bss_info_changed() 747 if (conf->enable_beacon) { vnt_bss_info_changed() 748 vnt_beacon_enable(priv, vif, conf); vnt_bss_info_changed() 758 if (conf->assoc && conf->beacon_rate) { vnt_bss_info_changed() 762 vnt_adjust_tsf(priv, conf->beacon_rate->hw_value, vnt_bss_info_changed() 763 conf->sync_tsf, priv->current_tsf); vnt_bss_info_changed() 765 vnt_mac_set_beacon_interval(priv, conf->beacon_int); vnt_bss_info_changed() 767 vnt_reset_next_tbtt(priv, conf->beacon_int); vnt_bss_info_changed() 691 vnt_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_bss_conf *conf, u32 changed) vnt_bss_info_changed() argument
|
H A D | power.c | 132 struct ieee80211_conf *conf = &hw->conf; vnt_next_tbtt_wakeup() local 135 if (conf->listen_interval > 1) { vnt_next_tbtt_wakeup()
|
H A D | dpc.c | 100 sband = hw->wiphy->bands[hw->conf.chandef.chan->band]; vnt_rx_data() 156 rx_status.band = hw->conf.chandef.chan->band; vnt_rx_data() 159 rx_status.freq = hw->conf.chandef.chan->center_freq; vnt_rx_data()
|
H A D | key.c | 124 struct ieee80211_bss_conf *conf = &vif->bss_conf; vnt_set_keys() local 174 vnt_set_keymode(hw, (u8 *)conf->bssid, key, vnt_set_keys()
|
H A D | int.c | 153 priv->hw->conf.flags & IEEE80211_CONF_PS) { vnt_int_process_data() 156 priv->hw->conf.listen_interval; vnt_int_process_data()
|
H A D | wcmd.c | 139 priv->hw->conf.chandef.chan->hw_value); vnt_run_command()
|
/linux-4.4.14/drivers/ide/ |
H A D | it821x.c | 118 u8 conf; it821x_program() local 122 conf = timing >> 8; it821x_program() 124 conf = timing & 0xFF; it821x_program() 126 pci_write_config_byte(dev, 0x54 + 4 * channel, conf); it821x_program() 144 u8 unit = drive->dn & 1, conf; it821x_program_udma() local 148 conf = timing >> 8; it821x_program_udma() 150 conf = timing & 0xFF; it821x_program_udma() 153 pci_write_config_byte(dev, 0x56 + 4 * channel + unit, conf); it821x_program_udma() 155 pci_write_config_byte(dev, 0x56 + 4 * channel, conf); it821x_program_udma() 156 pci_write_config_byte(dev, 0x56 + 4 * channel + 1, conf); it821x_program_udma() 286 u8 unit = drive->dn & 1, channel = hwif->channel, conf; it821x_tune_mwdma() local 297 pci_read_config_byte(dev, 0x50, &conf); it821x_tune_mwdma() 299 conf |= channel ? 0x60: 0x18; it821x_tune_mwdma() 301 conf |= 1 << (3 + 2 * channel + unit); it821x_tune_mwdma() 302 pci_write_config_byte(dev, 0x50, conf); it821x_tune_mwdma() 323 u8 unit = drive->dn & 1, channel = hwif->channel, conf; it821x_tune_udma() local 336 pci_read_config_byte(dev, 0x50, &conf); it821x_tune_udma() 338 conf &= channel ? 0x9F: 0xE7; it821x_tune_udma() 340 conf &= ~ (1 << (3 + 2 * channel + unit)); it821x_tune_udma() 341 pci_write_config_byte(dev, 0x50, conf); it821x_tune_udma() 537 u8 conf; init_hwif_it821x() local 541 pci_read_config_byte(dev, 0x50, &conf); init_hwif_it821x() 542 if (conf & 1) { init_hwif_it821x() 551 if (conf & (1 << (1 + hwif->channel))) init_hwif_it821x() 610 u8 conf; init_chipset_it821x() local 619 pci_read_config_byte(dev, 0x50, &conf); init_chipset_it821x() 621 pci_name(dev), mode[conf & 1]); init_chipset_it821x()
|
/linux-4.4.14/drivers/staging/lustre/lustre/llite/ |
H A D | vvp_object.c | 123 const struct cl_object_conf *conf) vvp_conf_set() 125 struct ll_inode_info *lli = ll_i2info(conf->coc_inode); vvp_conf_set() 127 if (conf->coc_opc == OBJECT_CONF_INVALIDATE) { vvp_conf_set() 141 unmap_mapping_range(conf->coc_inode->i_mapping, vvp_conf_set() 147 if (conf->coc_opc != OBJECT_CONF_SET) vvp_conf_set() 150 if (conf->u.coc_md != NULL && conf->u.coc_md->lsm != NULL) { vvp_conf_set() 153 conf->u.coc_md->lsm->lsm_layout_gen); vvp_conf_set() 155 lli->lli_has_smd = lsm_has_objects(conf->u.coc_md->lsm); vvp_conf_set() 156 ll_layout_version_set(lli, conf->u.coc_md->lsm->lsm_layout_gen); vvp_conf_set() 122 vvp_conf_set(const struct lu_env *env, struct cl_object *obj, const struct cl_object_conf *conf) vvp_conf_set() argument
|
/linux-4.4.14/drivers/regulator/ |
H A D | da9055-regulator.c | 73 struct da9055_conf_reg conf; member in struct:da9055_regulator_info 216 ret = da9055_reg_read(regulator->da9055, info->conf.reg); da9055_regulator_get_voltage_sel() 220 ret &= info->conf.sel_mask; da9055_regulator_get_voltage_sel() 248 ret = da9055_reg_update(regulator->da9055, info->conf.reg, da9055_regulator_set_voltage_sel() 249 info->conf.sel_mask, DA9055_SEL_REG_A); da9055_regulator_set_voltage_sel() 263 ret = da9055_reg_read(regulator->da9055, info->conf.reg); da9055_regulator_set_voltage_sel() 267 ret &= info->conf.sel_mask; da9055_regulator_set_voltage_sel() 287 ret = da9055_reg_update(regulator->da9055, info->conf.reg, da9055_regulator_set_suspend_voltage() 288 info->conf.sel_mask, DA9055_SEL_REG_B); da9055_regulator_set_suspend_voltage() 308 return da9055_reg_update(regulator->da9055, info->conf.reg, da9055_suspend_enable() 309 info->conf.sel_mask, DA9055_SEL_REG_B); da9055_suspend_enable() 321 return da9055_reg_update(regulator->da9055, info->conf.reg, da9055_suspend_disable() 322 info->conf.sel_mask, DA9055_SEL_REG_A); da9055_suspend_disable() 382 .conf = {\ 410 .conf = {\ 476 ret = da9055_reg_update(regulator->da9055, info->conf.reg, da9055_gpio_init() 504 ret = da9055_reg_update(regulator->da9055, info->conf.reg, da9055_gpio_init()
|
/linux-4.4.14/drivers/gpu/drm/i2c/ |
H A D | ch7006_drv.c | 251 struct drm_mode_config *conf = &dev->mode_config; ch7006_encoder_create_resources() local 257 drm_object_attach_property(&connector->base, conf->tv_select_subconnector_property, ch7006_encoder_create_resources() 259 drm_object_attach_property(&connector->base, conf->tv_subconnector_property, ch7006_encoder_create_resources() 261 drm_object_attach_property(&connector->base, conf->tv_left_margin_property, ch7006_encoder_create_resources() 263 drm_object_attach_property(&connector->base, conf->tv_bottom_margin_property, ch7006_encoder_create_resources() 265 drm_object_attach_property(&connector->base, conf->tv_mode_property, ch7006_encoder_create_resources() 267 drm_object_attach_property(&connector->base, conf->tv_brightness_property, ch7006_encoder_create_resources() 269 drm_object_attach_property(&connector->base, conf->tv_contrast_property, ch7006_encoder_create_resources() 271 drm_object_attach_property(&connector->base, conf->tv_flicker_reduction_property, ch7006_encoder_create_resources() 287 struct drm_mode_config *conf = &encoder->dev->mode_config; ch7006_encoder_set_property() local 293 if (property == conf->tv_select_subconnector_property) { ch7006_encoder_set_property() 300 } else if (property == conf->tv_left_margin_property) { ch7006_encoder_set_property() 308 } else if (property == conf->tv_bottom_margin_property) { ch7006_encoder_set_property() 316 } else if (property == conf->tv_mode_property) { ch7006_encoder_set_property() 324 } else if (property == conf->tv_brightness_property) { ch7006_encoder_set_property() 331 } else if (property == conf->tv_contrast_property) { ch7006_encoder_set_property() 338 } else if (property == conf->tv_flicker_reduction_property) { ch7006_encoder_set_property()
|
/linux-4.4.14/arch/mips/txx9/jmr3927/ |
H A D | setup.c | 76 unsigned int conf; jmr3927_mem_setup() local 85 conf = read_c0_conf(); jmr3927_mem_setup() 86 conf &= ~(TX39_CONF_WBON | TX39_CONF_CWFON); jmr3927_mem_setup() 87 conf |= mips_config_wbon ? TX39_CONF_WBON : 0; jmr3927_mem_setup() 88 conf |= mips_config_cwfon ? TX39_CONF_CWFON : 0; jmr3927_mem_setup() 90 write_c0_conf(conf); jmr3927_mem_setup()
|
/linux-4.4.14/drivers/staging/vt6655/ |
H A D | power.c | 157 struct ieee80211_conf *conf = &hw->conf; PSbIsNextTBTTWakeUp() local 160 if (conf->listen_interval > 1) { PSbIsNextTBTTWakeUp() 162 pDevice->wake_up_count = conf->listen_interval; PSbIsNextTBTTWakeUp()
|
H A D | dpc.c | 68 sband = hw->wiphy->bands[hw->conf.chandef.chan->band]; vnt_rx_data() 106 rx_status.band = hw->conf.chandef.chan->band; vnt_rx_data() 109 rx_status.freq = hw->conf.chandef.chan->center_freq; vnt_rx_data()
|
H A D | device_main.c | 913 if (priv->hw->conf.flags & IEEE80211_CONF_OFFCHANNEL) vnt_check_bb_vga() 1274 struct ieee80211_conf *conf = &hw->conf; vnt_config() local 1278 if (conf->flags & IEEE80211_CONF_PS) vnt_config() 1279 PSvEnablePowerSaving(priv, conf->listen_interval); vnt_config() 1285 (conf->flags & IEEE80211_CONF_OFFCHANNEL)) { vnt_config() 1286 set_channel(priv, conf->chandef.chan); vnt_config() 1288 if (conf->chandef.chan->band == IEEE80211_BAND_5GHZ) vnt_config() 1307 conf->chandef.chan->hw_value); vnt_config() 1314 struct ieee80211_vif *vif, struct ieee80211_bss_conf *conf, vnt_bss_info_changed() 1319 priv->current_aid = conf->aid; vnt_bss_info_changed() 1321 if (changed & BSS_CHANGED_BSSID && conf->bssid) { vnt_bss_info_changed() 1326 MACvWriteBSSIDAddress(priv->PortOffset, (u8 *)conf->bssid); vnt_bss_info_changed() 1332 priv->basic_rates = conf->basic_rates; vnt_bss_info_changed() 1337 "basic rates %x\n", conf->basic_rates); vnt_bss_info_changed() 1341 if (conf->use_short_preamble) { vnt_bss_info_changed() 1351 if (conf->use_cts_prot) vnt_bss_info_changed() 1358 if (conf->use_short_slot) vnt_bss_info_changed() 1369 conf->chandef.chan->hw_value); vnt_bss_info_changed() 1373 "Beacon enable %d\n", conf->enable_beacon); vnt_bss_info_changed() 1375 if (conf->enable_beacon) { vnt_bss_info_changed() 1376 vnt_beacon_enable(priv, vif, conf); vnt_bss_info_changed() 1388 if (conf->assoc && conf->beacon_rate) { vnt_bss_info_changed() 1389 CARDbUpdateTSF(priv, conf->beacon_rate->hw_value, vnt_bss_info_changed() 1390 conf->sync_tsf); vnt_bss_info_changed() 1392 CARDbSetBeaconPeriod(priv, conf->beacon_int); vnt_bss_info_changed() 1394 CARDvSetFirstNextTBTT(priv, conf->beacon_int); vnt_bss_info_changed() 1313 vnt_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_bss_conf *conf, u32 changed) vnt_bss_info_changed() argument
|
H A D | key.c | 116 struct ieee80211_bss_conf *conf = &vif->bss_conf; vnt_set_keys() local 163 vnt_set_keymode(hw, (u8 *)conf->bssid, vnt_set_keys()
|
/linux-4.4.14/drivers/gpu/drm/nouveau/nvkm/engine/disp/ |
H A D | gf119.c | 133 exec_clkcmp(struct nv50_disp *disp, int head, int id, u32 pclk, u32 *conf) exec_clkcmp() argument 160 *conf = (ctrl & 0x00000f00) >> 8; exec_clkcmp() 162 *conf |= 0x0100; exec_clkcmp() 165 *conf = disp->sor.lvdsconf; exec_clkcmp() 168 *conf = (ctrl & 0x00000f00) >> 8; exec_clkcmp() 172 *conf = 0x00ff; exec_clkcmp() 176 data = nvbios_ocfg_match(bios, data, *conf, &ver, &hdr, &cnt, &len, &info2); exec_clkcmp() 243 const u32 conf = nvkm_rd32(device, 0x660404 + (head * 0x300)); gf119_disp_intr_unk2_2_tu() local 278 if ((conf & 0x3c0) == 0x180) bits = 30; gf119_disp_intr_unk2_2_tu() 279 else if ((conf & 0x3c0) == 0x140) bits = 24; gf119_disp_intr_unk2_2_tu() 304 u32 conf, addr, data; gf119_disp_intr_unk2_2() local 306 outp = exec_clkcmp(disp, head, 0xff, pclk, &conf); gf119_disp_intr_unk2_2() 329 exec_clkcmp(disp, head, 0, pclk, &conf); gf119_disp_intr_unk2_2() 336 data = (conf & 0x0100) ? 0x00000101 : 0x00000000; gf119_disp_intr_unk2_2() 357 u32 conf; gf119_disp_intr_unk4_0() local 359 exec_clkcmp(disp, head, 1, pclk, &conf); gf119_disp_intr_unk4_0()
|
H A D | dport.c | 42 u8 conf[4]; member in struct:dp_state 144 dp->conf[i] = (lpre << 3) | lvsw; dp_link_train_commit() 148 i, dp->conf[i], lpc2); dp_link_train_commit() 152 ret = nvkm_wraux(outp->aux, DPCD_LC03(0), dp->conf, 4); dp_link_train_commit() 197 int voltage = dp->conf[0] & DPCD_LC03_VOLTAGE_SWING_SET; dp_link_train_cr() 212 if (dp->conf[i] & DPCD_LC03_MAX_SWING_REACHED) dp_link_train_cr() 218 if ((dp->conf[0] & DPCD_LC03_VOLTAGE_SWING_SET) != voltage) { dp_link_train_cr() 219 voltage = dp->conf[0] & DPCD_LC03_VOLTAGE_SWING_SET; dp_link_train_cr()
|
H A D | nv50.c | 344 exec_clkcmp(struct nv50_disp *disp, int head, int id, u32 pclk, u32 *conf) exec_clkcmp() argument 393 *conf = (ctrl & 0x00000f00) >> 8; exec_clkcmp() 395 *conf |= 0x0100; exec_clkcmp() 398 *conf = disp->sor.lvdsconf; exec_clkcmp() 401 *conf = (ctrl & 0x00000f00) >> 8; exec_clkcmp() 405 *conf = 0x00ff; exec_clkcmp() 409 *conf = (ctrl & 0x00000f00) >> 8; exec_clkcmp() 413 data = nvbios_ocfg_match(bios, data, *conf, &ver, &hdr, &cnt, &len, &info2); exec_clkcmp() 613 u32 mask, conf; nv50_disp_intr_unk20_2() local 615 outp = exec_clkcmp(disp, head, 0xff, pclk, &conf); nv50_disp_intr_unk20_2() 662 exec_clkcmp(disp, head, 0, pclk, &conf); nv50_disp_intr_unk20_2() 674 oval = (conf & 0x0100) ? 0x00000101 : 0x00000000; nv50_disp_intr_unk20_2() 719 u32 conf; nv50_disp_intr_unk40_0() local 721 outp = exec_clkcmp(disp, head, 1, pclk, &conf); nv50_disp_intr_unk40_0()
|
/linux-4.4.14/drivers/gpu/drm/msm/mdp/mdp4/ |
H A D | mdp4_lvds_pll.c | 41 } conf[32]; member in struct:pll_rate 82 for (i = 0; pll_rate->conf[i].reg; i++) mpd4_lvds_pll_enable() 83 mdp4_write(mdp4_kms, pll_rate->conf[i].reg, pll_rate->conf[i].val); mpd4_lvds_pll_enable()
|
/linux-4.4.14/arch/mips/netlogic/xlr/ |
H A D | fmn.c | 45 #define COP2_CC_INIT_CPU_DEST(dest, conf) \ 47 nlm_write_c2_cc##dest(0, conf[(dest * 8) + 0]); \ 48 nlm_write_c2_cc##dest(1, conf[(dest * 8) + 1]); \ 49 nlm_write_c2_cc##dest(2, conf[(dest * 8) + 2]); \ 50 nlm_write_c2_cc##dest(3, conf[(dest * 8) + 3]); \ 51 nlm_write_c2_cc##dest(4, conf[(dest * 8) + 4]); \ 52 nlm_write_c2_cc##dest(5, conf[(dest * 8) + 5]); \ 53 nlm_write_c2_cc##dest(6, conf[(dest * 8) + 6]); \ 54 nlm_write_c2_cc##dest(7, conf[(dest * 8) + 7]); \
|
/linux-4.4.14/drivers/iio/adc/ |
H A D | ad7793.c | 159 u16 conf; member in struct:ad7793_state 187 st->conf &= ~AD7793_CONF_CHAN_MASK; ad7793_set_channel() 188 st->conf |= AD7793_CONF_CHAN(channel); ad7793_set_channel() 190 return ad_sd_write_reg(&st->sd, AD7793_REG_CONF, 2, st->conf); ad7793_set_channel() 287 st->conf = 0; ad7793_setup() 292 st->conf |= AD7793_CONF_REFSEL(pdata->refsel); ad7793_setup() 294 st->conf |= AD7793_CONF_VBIAS(pdata->bias_voltage); ad7793_setup() 296 st->conf |= AD7793_CONF_BUF; ad7793_setup() 299 st->conf |= AD7793_CONF_BOOST; ad7793_setup() 301 st->conf |= AD7793_CONF_BO_EN; ad7793_setup() 303 st->conf |= AD7793_CONF_UNIPOLAR; ad7793_setup() 306 st->conf |= AD7793_CONF_GAIN(7); ad7793_setup() 332 (!!(st->conf & AD7793_CONF_UNIPOLAR) ? 0 : 1)); ad7793_setup() 462 bool unipolar = !!(st->conf & AD7793_CONF_UNIPOLAR); ad7793_read_raw() 477 scale_avail[(st->conf >> 8) & 0x7][0]; ad7793_read_raw() 479 scale_avail[(st->conf >> 8) & 0x7][1]; ad7793_read_raw() 541 tmp = st->conf; ad7793_write_raw() 542 st->conf &= ~AD7793_CONF_GAIN(-1); ad7793_write_raw() 543 st->conf |= AD7793_CONF_GAIN(i); ad7793_write_raw() 545 if (tmp == st->conf) ad7793_write_raw() 549 sizeof(st->conf), st->conf); ad7793_write_raw()
|
H A D | max1363.c | 97 * @conf: The corresponding value of the configuration register 101 int8_t conf; member in struct:max1363_mode 192 .conf = MAX1363_CHANNEL_SEL(_num) \ 199 .conf = MAX1363_CHANNEL_SEL(_num) \ 207 .conf = MAX1363_CHANNEL_SEL(_num) \ 214 .conf = MAX1363_CHANNEL_SEL(_nump) \ 222 .conf = MAX1363_CHANNEL_SEL(_num) \ 230 .conf = MAX1363_CHANNEL_SEL(_num) \ 352 st->configbyte |= st->current_mode->conf; max1363_set_scan_mode() 847 st->configbyte |= max1363_mode_table[s0to3].conf; max1363_monitor_mode_update() 850 st->configbyte |= max1363_mode_table[d0m1to2m3].conf; max1363_monitor_mode_update() 853 st->configbyte |= max1363_mode_table[d1m0to3m2].conf; max1363_monitor_mode_update()
|
/linux-4.4.14/drivers/gpu/drm/exynos/ |
H A D | exynos_hdmi.c | 140 u8 conf[32]; member in struct:hdmiphy_config 147 .conf = { 156 .conf = { 165 .conf = { 174 .conf = { 183 .conf = { 195 .conf = { 204 .conf = { 213 .conf = { 222 .conf = { 231 .conf = { 240 .conf = { 249 .conf = { 258 .conf = { 267 .conf = { 276 .conf = { 285 .conf = { 294 .conf = { 303 .conf = { 312 .conf = { 321 .conf = { 330 .conf = { 339 .conf = { 351 .conf = { 360 .conf = { 369 .conf = { 378 .conf = { 387 .conf = { 396 .conf = { 405 .conf = { 414 .conf = { 423 .conf = { 432 .conf = { 441 .conf = { 450 .conf = { 459 .conf = { 468 .conf = { 477 .conf = { 486 .conf = { 495 .conf = { 1537 DRM_ERROR("failed to find hdmiphy conf\n"); hdmiphy_conf_apply() 1542 hdata->drv_data->phy_confs[i].conf, 32); hdmiphy_conf_apply()
|
/linux-4.4.14/drivers/misc/ |
H A D | ad525x_dpot.h | 18 #define DPOT_UID(conf) (conf & 0x3F) 19 #define DPOT_MAX_POS(conf) ((conf >> 6) & 0xF) 20 #define DPOT_WIPERS(conf) ((conf >> 10) & 0xFF) 21 #define DPOT_FEAT(conf) (conf >> 18)
|
/linux-4.4.14/drivers/staging/most/hdm-usb/ |
H A D | hdm_usb.c | 101 * @conf: channel configuration 121 struct most_channel_config *conf; member in struct:most_dev 297 if (mdev->conf[channel].data_type == MOST_CH_ASYNC) { hdm_poison_channel() 316 struct most_channel_config *conf = &mdev->conf[channel]; hdm_add_padding() local 320 frame_size = get_stream_frame_size(conf); hdm_add_padding() 355 struct most_channel_config *const conf = &mdev->conf[channel]; hdm_remove_padding() local 357 frame_size = get_stream_frame_size(conf); hdm_remove_padding() 633 struct most_channel_config *conf; hdm_enqueue() local 647 conf = &mdev->conf[channel]; hdm_enqueue() 674 (conf->direction & MOST_CH_TX)) hdm_enqueue() 684 if (conf->direction & MOST_CH_TX) { hdm_enqueue() 692 if (conf->data_type != MOST_CH_ISOC_AVP) hdm_enqueue() 699 length + conf->extra_len, hdm_enqueue() 726 * @conf: structure that holds the configuration information 729 struct most_channel_config *conf) hdm_configure_channel() 742 if (unlikely(!iface || !conf)) { hdm_configure_channel() 750 if ((!conf->num_buffers) || (!conf->buffer_size)) { hdm_configure_channel() 755 if (!(conf->data_type == MOST_CH_SYNC) && hdm_configure_channel() 756 !((conf->data_type == MOST_CH_ISOC_AVP) && hdm_configure_channel() 757 (conf->packets_per_xact != 0xFF))) { hdm_configure_channel() 763 temp_size = conf->buffer_size; hdm_configure_channel() 765 frame_size = get_stream_frame_size(conf); hdm_configure_channel() 771 if (conf->buffer_size % frame_size) { hdm_configure_channel() 774 tmp_val = conf->buffer_size / frame_size; hdm_configure_channel() 775 conf->buffer_size = tmp_val * frame_size; hdm_configure_channel() 779 conf->buffer_size, hdm_configure_channel() 783 num_frames = conf->buffer_size / frame_size; hdm_configure_channel() 788 conf->extra_len = (CEILING(temp_size, USB_MTU) * USB_MTU) hdm_configure_channel() 789 - conf->buffer_size; hdm_configure_channel() 791 mdev->conf[channel] = *conf; hdm_configure_channel() 944 if (mdev->conf[channel].direction & MOST_CH_TX) wq_clear_halt() 1264 mdev->conf = kcalloc(num_endpoints, sizeof(*mdev->conf), GFP_KERNEL); hdm_probe() 1265 if (!mdev->conf) hdm_probe() 1361 kfree(mdev->conf); hdm_probe() 1399 kfree(mdev->conf); hdm_disconnect() 728 hdm_configure_channel(struct most_interface *iface, int channel, struct most_channel_config *conf) hdm_configure_channel() argument
|
/linux-4.4.14/drivers/staging/iio/adc/ |
H A D | ad7192.c | 143 u32 conf; member in struct:ad7192_state 160 st->conf &= ~AD7192_CONF_CHAN_MASK; ad7192_set_channel() 161 st->conf |= AD7192_CONF_CHAN(channel); ad7192_set_channel() 163 return ad_sd_write_reg(&st->sd, AD7192_REG_CONF, 3, st->conf); ad7192_set_channel() 249 st->conf = AD7192_CONF_GAIN(0); ad7192_setup() 258 st->conf |= AD7192_CONF_REFSEL; ad7192_setup() 261 st->conf |= AD7192_CONF_CHOP; ad7192_setup() 271 st->conf |= AD7192_CONF_BUF; ad7192_setup() 274 st->conf |= AD7192_CONF_UNIPOLAR; ad7192_setup() 277 st->conf |= AD7192_CONF_BURN; ad7192_setup() 283 ret = ad_sd_write_reg(&st->sd, AD7192_REG_CONF, 3, st->conf); ad7192_setup() 295 ((st->conf & AD7192_CONF_UNIPOLAR) ? 0 : 1)); ad7192_setup() 497 bool unipolar = !!(st->conf & AD7192_CONF_UNIPOLAR); ad7192_read_raw() 506 *val = st->scale_avail[AD7192_CONF_GAIN(st->conf)][0]; ad7192_read_raw() 507 *val2 = st->scale_avail[AD7192_CONF_GAIN(st->conf)][1]; ad7192_read_raw() 553 tmp = st->conf; ad7192_write_raw() 554 st->conf &= ~AD7192_CONF_GAIN(-1); ad7192_write_raw() 555 st->conf |= AD7192_CONF_GAIN(i); ad7192_write_raw() 556 if (tmp == st->conf) ad7192_write_raw() 559 3, st->conf); ad7192_write_raw()
|
/linux-4.4.14/drivers/net/wireless/ti/wl18xx/ |
H A D | main.c | 38 #include "conf.h" 951 params = kmemdup(&priv->conf.phy, sizeof(*params), GFP_KERNEL); wl18xx_set_mac_and_phy() 1256 return (priv->conf.phy.number_of_assembled_ant2_4 >= 2) && wl18xx_is_mimo_supported() 1257 (priv->conf.ht.mode != HT_MODE_WIDE) && wl18xx_is_mimo_supported() 1258 (priv->conf.ht.mode != HT_MODE_SISO20); wl18xx_is_mimo_supported() 1384 #define WL18XX_CONF_FILE_NAME "ti-connectivity/wl18xx-conf.bin" 1386 static int wl18xx_load_conf_file(struct device *dev, struct wlcore_conf *conf, wl18xx_load_conf_file() argument 1425 memcpy(conf, &conf_file->core, sizeof(*conf)); wl18xx_load_conf_file() 1437 if (wl18xx_load_conf_file(dev, &wl->conf, &priv->conf) < 0) { wl18xx_conf_init() 1441 memcpy(&wl->conf, &wl18xx_conf, sizeof(wl->conf)); wl18xx_conf_init() 1443 memcpy(&priv->conf, &wl18xx_default_priv_conf, wl18xx_conf_init() 1444 sizeof(priv->conf)); wl18xx_conf_init() 1922 /* If the module param is set, update it in conf */ wl18xx_setup() 1925 priv->conf.phy.board_type = BOARD_TYPE_FPGA_18XX; wl18xx_setup() 1927 priv->conf.phy.board_type = BOARD_TYPE_HDK_18XX; wl18xx_setup() 1929 priv->conf.phy.board_type = BOARD_TYPE_DVP_18XX; wl18xx_setup() 1931 priv->conf.phy.board_type = BOARD_TYPE_EVB_18XX; wl18xx_setup() 1933 priv->conf.phy.board_type = BOARD_TYPE_COM8_18XX; wl18xx_setup() 1941 if (priv->conf.phy.board_type >= NUM_BOARD_TYPES) { wl18xx_setup() 1943 priv->conf.phy.board_type); wl18xx_setup() 1948 priv->conf.phy.low_band_component = low_band_component_param; wl18xx_setup() 1950 priv->conf.phy.low_band_component_type = wl18xx_setup() 1953 priv->conf.phy.high_band_component = high_band_component_param; wl18xx_setup() 1955 priv->conf.phy.high_band_component_type = wl18xx_setup() 1958 priv->conf.phy.pwr_limit_reference_11_abg = wl18xx_setup() 1961 priv->conf.phy.number_of_assembled_ant2_4 = n_antennas_2_param; wl18xx_setup() 1963 priv->conf.phy.number_of_assembled_ant5 = n_antennas_5_param; wl18xx_setup() 1965 priv->conf.phy.external_pa_dc2dc = dc2dc_param; wl18xx_setup() 1969 priv->conf.ht.mode = HT_MODE_DEFAULT; wl18xx_setup() 1971 priv->conf.ht.mode = HT_MODE_WIDE; wl18xx_setup() 1973 priv->conf.ht.mode = HT_MODE_SISO20; wl18xx_setup() 1980 if (priv->conf.ht.mode == HT_MODE_DEFAULT) { wl18xx_setup() 1995 } else if (priv->conf.ht.mode == HT_MODE_WIDE) { wl18xx_setup() 2000 } else if (priv->conf.ht.mode == HT_MODE_SISO20) { wl18xx_setup() 2013 wl->enable_11a = (priv->conf.phy.number_of_assembled_ant5 != 0); wl18xx_setup()
|
H A D | acx.c | 259 struct conf_ap_sleep_settings *conf = &priv->conf.ap_sleep; wl18xx_acx_ap_sleep() local 270 acx->idle_duty_cycle = conf->idle_duty_cycle; wl18xx_acx_ap_sleep() 271 acx->connected_duty_cycle = conf->connected_duty_cycle; wl18xx_acx_ap_sleep() 272 acx->max_stations_thresh = conf->max_stations_thresh; wl18xx_acx_ap_sleep() 273 acx->idle_conn_thresh = conf->idle_conn_thresh; wl18xx_acx_ap_sleep()
|
H A D | debugfs.c | 214 memcpy(pos, &wl->conf, sizeof(wl->conf)); conf_read() 215 pos += sizeof(wl->conf); conf_read() 216 memcpy(pos, &priv->conf, sizeof(priv->conf)); conf_read() 511 DEBUGFS_ADD(conf, moddir); wl18xx_debugfs_add_files()
|
H A D | wl18xx.h | 25 #include "conf.h" 52 struct wl18xx_priv_conf conf; member in struct:wl18xx_priv
|
/linux-4.4.14/drivers/iio/accel/ |
H A D | mma9553.c | 189 struct mma9553_conf_regs conf; member in struct:mma9553_data 294 config = mma9553_set_bits(data->conf.config, 1, mma9553_set_config() 402 sizeof(data->conf) / sizeof(u16), mma9553_init() 403 (u16 *)&data->conf); mma9553_init() 421 data->conf.sleepmin = MMA9553_DEFAULT_SLEEPMIN; mma9553_init() 422 data->conf.sleepmax = MMA9553_DEFAULT_SLEEPMAX; mma9553_init() 423 data->conf.sleepthd = MMA9553_DEFAULT_SLEEPTHD; mma9553_init() 424 data->conf.config = mma9553_set_bits(data->conf.config, 1, mma9553_init() 430 data->conf.config = mma9553_set_bits(data->conf.config, 1, mma9553_init() 434 sizeof(data->conf) / sizeof(u16), mma9553_init() 435 (u16 *)&data->conf); mma9553_init() 571 tmp = mma9553_get_bits(data->conf.height_weight, mma9553_read_raw() 577 *val = mma9553_get_bits(data->conf.height_weight, mma9553_read_raw() 583 *val = mma9553_get_bits(data->conf.filter, mma9553_read_raw() 592 *val = mma9553_get_bits(data->conf.filter, mma9553_read_raw() 603 *val = mma9553_get_bits(data->conf.speed_step, mma9553_read_raw() 642 &data->conf.height_weight, mma9553_write_raw() 652 &data->conf.height_weight, mma9553_write_raw() 669 &data->conf.filter, val, mma9553_write_raw() 683 &data->conf.filter, val, mma9553_write_raw() 707 &data->conf.speed_step, val, mma9553_write_raw() 789 *val = mma9553_get_bits(data->conf.speed_step, mma9553_read_event_value() 805 *val = MMA9553_ACTIVITY_THD_TO_SEC(data->conf.actthd); mma9553_read_event_value() 834 &data->conf.speed_step, val, mma9553_write_event_value() 849 &data->conf.actthd, mma9553_write_event_value() 868 gender = mma9553_get_bits(data->conf.filter, MMA9553_MASK_CONF_MALE); mma9553_get_calibgender_mode() 888 &data->conf.filter, gender, mma9553_set_calibgender_mode()
|
/linux-4.4.14/drivers/media/v4l2-core/ |
H A D | videobuf2-dma-sg.c | 105 struct vb2_dma_sg_conf *conf = alloc_ctx; vb2_dma_sg_alloc() local 143 buf->dev = get_device(conf->dev); vb2_dma_sg_alloc() 233 struct vb2_dma_sg_conf *conf = alloc_ctx; vb2_dma_sg_get_userptr() local 245 buf->dev = conf->dev; vb2_dma_sg_get_userptr() 622 struct vb2_dma_sg_conf *conf = alloc_ctx; vb2_dma_sg_attach_dmabuf() local 633 buf->dev = conf->dev; vb2_dma_sg_attach_dmabuf() 677 struct vb2_dma_sg_conf *conf; vb2_dma_sg_init_ctx() local 679 conf = kzalloc(sizeof(*conf), GFP_KERNEL); vb2_dma_sg_init_ctx() 680 if (!conf) vb2_dma_sg_init_ctx() 683 conf->dev = dev; vb2_dma_sg_init_ctx() 685 return conf; vb2_dma_sg_init_ctx()
|
H A D | videobuf2-dma-contig.c | 142 struct vb2_dc_conf *conf = alloc_ctx; vb2_dc_alloc() local 143 struct device *dev = conf->dev; vb2_dc_alloc() 476 struct vb2_dc_conf *conf = alloc_ctx; vb2_dc_get_userptr() local 504 buf->dev = conf->dev; vb2_dc_get_userptr() 674 struct vb2_dc_conf *conf = alloc_ctx; vb2_dc_attach_dmabuf() local 685 buf->dev = conf->dev; vb2_dc_attach_dmabuf() 726 struct vb2_dc_conf *conf; vb2_dma_contig_init_ctx() local 728 conf = kzalloc(sizeof *conf, GFP_KERNEL); vb2_dma_contig_init_ctx() 729 if (!conf) vb2_dma_contig_init_ctx() 732 conf->dev = dev; vb2_dma_contig_init_ctx() 734 return conf; vb2_dma_contig_init_ctx()
|
/linux-4.4.14/drivers/net/wireless/realtek/rtl818x/rtl8180/ |
H A D | max2820.c | 93 struct ieee80211_conf *conf) max2820_rf_set_channel() 96 int channel = conf ? max2820_rf_set_channel() 97 ieee80211_frequency_to_channel(conf->chandef.chan->center_freq) : 1; max2820_rf_set_channel() 92 max2820_rf_set_channel(struct ieee80211_hw *dev, struct ieee80211_conf *conf) max2820_rf_set_channel() argument
|
H A D | rtl8225se.h | 56 struct ieee80211_conf *conf);
|
H A D | grf5101.c | 81 struct ieee80211_conf *conf) grf5101_rf_set_channel() 85 ieee80211_frequency_to_channel(conf->chandef.chan->center_freq); grf5101_rf_set_channel() 80 grf5101_rf_set_channel(struct ieee80211_hw *dev, struct ieee80211_conf *conf) grf5101_rf_set_channel() argument
|
H A D | sa2400.c | 104 struct ieee80211_conf *conf) sa2400_rf_set_channel() 108 ieee80211_frequency_to_channel(conf->chandef.chan->center_freq); sa2400_rf_set_channel() 103 sa2400_rf_set_channel(struct ieee80211_hw *dev, struct ieee80211_conf *conf) sa2400_rf_set_channel() argument
|
/linux-4.4.14/arch/blackfin/kernel/ |
H A D | bfin_dma.c | 408 static void __dma_memcpy(u32 daddr, s16 dmod, u32 saddr, s16 smod, size_t cnt, u32 conf) __dma_memcpy() argument 426 if (conf & DMA2D) { __dma_memcpy() 454 bfin_write_MDMA_S_CONFIG(DMAEN | conf); __dma_memcpy() 455 if (conf & DMA2D) __dma_memcpy() 456 bfin_write_MDMA_D_CONFIG(WNR | DI_EN_Y | DMAEN | conf); __dma_memcpy() 458 bfin_write_MDMA_D_CONFIG(WNR | DI_EN_X | DMAEN | conf); __dma_memcpy() 484 u32 conf, shift; _dma_memcpy() local 493 conf = WDSIZE_32; _dma_memcpy() 496 conf = WDSIZE_16; _dma_memcpy() 499 conf = WDSIZE_8; _dma_memcpy() 517 conf |= DMA2D; _dma_memcpy() 520 __dma_memcpy(dst, mod, src, mod, size, conf); _dma_memcpy()
|
/linux-4.4.14/drivers/gpu/drm/nouveau/dispnv04/ |
H A D | tvnv17.c | 148 struct drm_mode_config *conf = &dev->mode_config; nv17_tv_detect() local 186 conf->tv_subconnector_property, nv17_tv_detect() 639 struct drm_mode_config *conf = &dev->mode_config; nv17_tv_create_resources() local 662 conf->tv_select_subconnector_property, nv17_tv_create_resources() 665 conf->tv_subconnector_property, nv17_tv_create_resources() 668 conf->tv_mode_property, nv17_tv_create_resources() 671 conf->tv_flicker_reduction_property, nv17_tv_create_resources() 674 conf->tv_saturation_property, nv17_tv_create_resources() 677 conf->tv_hue_property, nv17_tv_create_resources() 680 conf->tv_overscan_property, nv17_tv_create_resources() 691 struct drm_mode_config *conf = &encoder->dev->mode_config; nv17_tv_set_property() local 697 if (property == conf->tv_overscan_property) { nv17_tv_set_property() 706 } else if (property == conf->tv_saturation_property) { nv17_tv_set_property() 713 } else if (property == conf->tv_hue_property) { nv17_tv_set_property() 720 } else if (property == conf->tv_flicker_reduction_property) { nv17_tv_set_property() 728 } else if (property == conf->tv_mode_property) { nv17_tv_set_property() 736 } else if (property == conf->tv_select_subconnector_property) { nv17_tv_set_property()
|
/linux-4.4.14/drivers/gpu/drm/nouveau/nvkm/subdev/bios/ |
H A D | gpio.c | 134 u8 conf = nvbios_rd08(bios, data - 5); dcb_gpio_match() local 136 if (conf & 0x01) { dcb_gpio_match() 140 .log[0] = !!(conf & 0x02), dcb_gpio_match() 141 .log[1] = !(conf & 0x02), dcb_gpio_match()
|
H A D | dcb.c | 142 u32 conf = nvbios_rd32(bios, dcb + 0x04); dcb_outp_parse() local 145 switch (conf & 0x00e00000) { dcb_outp_parse() 158 switch ((conf & 0x0f000000) >> 24) { dcb_outp_parse() 176 outp->link = (conf & 0x00000030) >> 4; dcb_outp_parse() 180 outp->extdev = (conf & 0x0000ff00) >> 8; dcb_outp_parse()
|
/linux-4.4.14/drivers/net/wireless/rsi/ |
H A D | rsi_91x_pkt.c | 85 if (conf_is_ht40(&common->priv->hw->conf)) rsi_send_data_pkt() 130 struct ieee80211_conf *conf = &hw->conf; rsi_send_mgmt_pkt() local 190 if (conf_is_ht40(conf)) { rsi_send_mgmt_pkt()
|
H A D | rsi_91x_mgmt.c | 312 struct ieee80211_conf *conf = &hw->conf; rsi_load_radio_caps() local 313 if (conf_is_ht40_plus(conf)) { rsi_load_radio_caps() 318 } else if (conf_is_ht40_minus(conf)) { rsi_load_radio_caps() 626 struct ieee80211_conf *conf = &hw->conf; rsi_set_vap_capabilities() local 660 if (conf_is_ht40(&common->priv->hw->conf)) { rsi_set_vap_capabilities() 666 if (conf_is_ht40_minus(conf)) rsi_set_vap_capabilities() 669 else if (conf_is_ht40_plus(conf)) rsi_set_vap_capabilities() 861 struct ieee80211_channel *curchan = hw->conf.chandef.chan; rsi_band_check() 869 if ((hw->conf.chandef.width == NL80211_CHAN_WIDTH_20_NOHT) || rsi_band_check() 870 (hw->conf.chandef.width == NL80211_CHAN_WIDTH_20)) rsi_band_check() 1012 u8 band = hw->conf.chandef.chan->band; rsi_send_auto_rate_request() 1093 conf_is_ht40(&common->priv->hw->conf)) rsi_send_auto_rate_request()
|
/linux-4.4.14/drivers/net/ethernet/cavium/liquidio/ |
H A D | cn68xx_device.c | 90 max_oqs = CFG_GET_OQ_MAX_Q(CHIP_FIELD(oct, cn6xxx, conf)); lio_cn68xx_setup_pkt_ctl_regs() 96 if (CFG_GET_IS_SLI_BP_ON(cn68xx->conf)) lio_cn68xx_setup_pkt_ctl_regs() 181 cn68xx->conf = (struct octeon_config *) lio_setup_cn68xx_octeon_device() 183 if (!cn68xx->conf) { lio_setup_cn68xx_octeon_device()
|
H A D | request_manager.c | 75 struct octeon_iq_config *conf = NULL; octeon_init_instr_queue() local 80 conf = &(CFG_GET_IQ_CFG(CHIP_FIELD(oct, cn6xxx, conf))); octeon_init_instr_queue() 82 if (!conf) { octeon_init_instr_queue() 95 q_size = (u32)conf->instr_type * num_descs; octeon_init_instr_queue() 126 iq->fill_threshold = (u32)conf->db_min; octeon_init_instr_queue() 133 iq->db_timeout = (u32)conf->db_timeout; octeon_init_instr_queue() 142 oct->io_qmask.iq64B |= ((conf->instr_type == 64) << iq_no); octeon_init_instr_queue() 143 iq->iqcmd_64B = (conf->instr_type == 64); octeon_init_instr_queue() 176 CFG_GET_IQ_INSTR_TYPE(CHIP_FIELD(oct, cn6xxx, conf)); octeon_delete_instr_queue()
|
H A D | octeon_device.c | 507 static int __verify_octeon_config_info(struct octeon_device *oct, void *conf) __verify_octeon_config_info() argument 512 return lio_validate_cn6xxx_config_info(oct, conf); __verify_octeon_config_info() 523 void *conf = NULL; oct_get_config_info() local 525 conf = __retrieve_octeon_config_info(oct, card_type); oct_get_config_info() 526 if (!conf) oct_get_config_info() 529 if (__verify_octeon_config_info(oct, conf)) { oct_get_config_info() 534 return conf; oct_get_config_info() 755 CFG_GET_NUM_DEF_TX_DESCS(CHIP_FIELD(oct, cn6xxx, conf)); octeon_setup_instr_queues() 787 /* CFG_GET_OQ_MAX_BASE_Q(CHIP_FIELD(oct, cn6xxx, conf)); */ octeon_setup_output_queues() 790 CFG_GET_NUM_DEF_RX_DESCS(CHIP_FIELD(oct, cn6xxx, conf)); octeon_setup_output_queues() 792 CFG_GET_DEF_RX_BUF_SIZE(CHIP_FIELD(oct, cn6xxx, conf)); octeon_setup_output_queues() 1094 CFG_GET_NUM_NIC_PORTS(CHIP_FIELD(oct, cn6xxx, conf)); octeon_core_drv_init() 1183 (struct octeon_config *)(CHIP_FIELD(oct, cn6xxx, conf)); octeon_get_conf()
|
H A D | cn66xx_device.c | 196 if (CFG_GET_OQ_MAX_Q(cn6xxx->conf) <= 4) lio_cn66xx_setup_pkt_ctl_regs() 202 if (CFG_GET_IS_SLI_BP_ON(cn6xxx->conf)) lio_cn66xx_setup_pkt_ctl_regs() 219 if (CFG_GET_IS_SLI_BP_ON(cn6xxx->conf)) { lio_cn6xxx_setup_global_output_regs() 259 (u32)CFG_GET_OQ_INTR_PKT(cn6xxx->conf)); lio_cn6xxx_setup_global_output_regs() 262 CFG_GET_OQ_INTR_TIME(cn6xxx->conf)); lio_cn6xxx_setup_global_output_regs() 742 cn6xxx->conf = (struct octeon_config *) lio_setup_cn66xx_octeon_device() 744 if (!cn6xxx->conf) { lio_setup_cn66xx_octeon_device()
|
H A D | cn66xx_device.h | 44 struct octeon_config *conf; member in struct:octeon_cn6xxx
|
/linux-4.4.14/net/wireless/ |
H A D | mesh.c | 99 const struct mesh_config *conf) __cfg80211_join_mesh() 181 err = rdev_join_mesh(rdev, dev, conf, setup); __cfg80211_join_mesh() 194 const struct mesh_config *conf) cfg80211_join_mesh() 200 err = __cfg80211_join_mesh(rdev, dev, setup, conf); cfg80211_join_mesh() 96 __cfg80211_join_mesh(struct cfg80211_registered_device *rdev, struct net_device *dev, struct mesh_setup *setup, const struct mesh_config *conf) __cfg80211_join_mesh() argument 191 cfg80211_join_mesh(struct cfg80211_registered_device *rdev, struct net_device *dev, struct mesh_setup *setup, const struct mesh_config *conf) cfg80211_join_mesh() argument
|
H A D | trace.h | 73 __entry->dot11MeshRetryTimeout = conf->dot11MeshRetryTimeout; \ 75 conf->dot11MeshConfirmTimeout; \ 77 conf->dot11MeshHoldingTimeout; \ 78 __entry->dot11MeshMaxPeerLinks = conf->dot11MeshMaxPeerLinks; \ 79 __entry->dot11MeshMaxRetries = conf->dot11MeshMaxRetries; \ 80 __entry->dot11MeshTTL = conf->dot11MeshTTL; \ 81 __entry->element_ttl = conf->element_ttl; \ 82 __entry->auto_open_plinks = conf->auto_open_plinks; \ 84 conf->dot11MeshNbrOffsetMaxNeighbor; \ 86 conf->dot11MeshHWMPmaxPREQretries; \ 87 __entry->path_refresh_time = conf->path_refresh_time; \ 89 conf->dot11MeshHWMPactivePathTimeout; \ 90 __entry->min_discovery_timeout = conf->min_discovery_timeout; \ 92 conf->dot11MeshHWMPpreqMinInterval; \ 94 conf->dot11MeshHWMPperrMinInterval; \ 96 conf->dot11MeshHWMPnetDiameterTraversalTime; \ 97 __entry->dot11MeshHWMPRootMode = conf->dot11MeshHWMPRootMode; \ 99 conf->dot11MeshHWMPRannInterval; \ 101 conf->dot11MeshGateAnnouncementProtocol; \ 102 __entry->dot11MeshForwarding = conf->dot11MeshForwarding; \ 103 __entry->rssi_threshold = conf->rssi_threshold; \ 104 __entry->ht_opmode = conf->ht_opmode; \ 106 conf->dot11MeshHWMPactivePathToRootTimeout; \ 108 conf->dot11MeshHWMProotInterval; \ 110 conf->dot11MeshHWMPconfirmationInterval; \ 923 TP_PROTO(struct wiphy *wiphy, int ret, struct mesh_config *conf), 924 TP_ARGS(wiphy, ret, conf), 941 const struct mesh_config *conf), 942 TP_ARGS(wiphy, netdev, mask, conf), 961 const struct mesh_config *conf, 963 TP_ARGS(wiphy, netdev, conf, setup),
|
/linux-4.4.14/include/uapi/linux/ |
H A D | hysdn_if.h | 27 #define ERR_CONF_LONG 1009 /* conf line is too long */
|
H A D | lightnvm.h | 94 struct nvm_ioctl_create_conf conf; member in struct:nvm_ioctl_create
|
/linux-4.4.14/drivers/net/wireless/ath/carl9170/ |
H A D | mac.c | 48 if (conf_is_ht40(&ar->hw->conf)) carl9170_set_dyn_sifs_ack() 51 if (ar->hw->conf.chandef.chan->band == IEEE80211_BAND_2GHZ) carl9170_set_dyn_sifs_ack() 64 if (conf_is_ht(&ar->hw->conf)) { carl9170_set_rts_cts_rate() 69 if (ar->hw->conf.chandef.chan->band == IEEE80211_BAND_2GHZ) { carl9170_set_rts_cts_rate() 96 if ((ar->hw->conf.chandef.chan->band == IEEE80211_BAND_5GHZ) || carl9170_set_slot_time() 123 if (ar->hw->conf.chandef.chan->band == IEEE80211_BAND_5GHZ) carl9170_set_mac_rates() 439 ar->hw->conf.ps_dtim_period); carl9170_set_beacon_timers() 525 power = min_t(unsigned int, power, ar->hw->conf.power_level * 2); carl9170_set_mac_tpc()
|
/linux-4.4.14/drivers/gpu/drm/gma500/ |
H A D | mdfld_device.c | 199 pipe->conf = PSB_RVDC32(map->conf); mdfld_save_display_registers() 313 !(PSB_RVDC32(map->conf) & PIPECONF_DSIPLL_LOCK)) { mdfld_restore_display_registers() 404 PSB_WVDC32(pipe->conf, map->conf); mdfld_restore_display_registers() 452 .conf = PIPEACONF, 474 .conf = PIPEBCONF, 496 .conf = PIPECCONF,
|
H A D | oaktrail_crtc.c | 269 temp = REG_READ_WITH_AUX(map->conf, i); oaktrail_crtc_dpms() 271 REG_WRITE_WITH_AUX(map->conf, oaktrail_crtc_dpms() 313 temp = REG_READ_WITH_AUX(map->conf, i); oaktrail_crtc_dpms() 315 REG_WRITE_WITH_AUX(map->conf, oaktrail_crtc_dpms() 317 REG_READ_WITH_AUX(map->conf, i); oaktrail_crtc_dpms() 492 pipeconf = REG_READ(map->conf); oaktrail_crtc_mode_set() 583 REG_WRITE_WITH_AUX(map->conf, pipeconf, i); oaktrail_crtc_mode_set() 584 REG_READ_WITH_AUX(map->conf, i); oaktrail_crtc_mode_set()
|
H A D | mdfld_intel_display.c | 73 temp = REG_READ(map->conf); mdfldWaitForPipeDisable() 101 temp = REG_READ(map->conf); mdfldWaitForPipeEnable() 264 temp = REG_READ(map->conf); mdfld_disable_crtc() 268 REG_WRITE(map->conf, temp); mdfld_disable_crtc() 269 REG_READ(map->conf); mdfld_disable_crtc() 357 !(REG_READ(map->conf) & PIPECONF_DSIPLL_LOCK)) { mdfld_crtc_dpms() 373 temp = REG_READ(map->conf); mdfld_crtc_dpms() 375 REG_WRITE(map->conf, pipeconf); mdfld_crtc_dpms() 398 temp = REG_READ(map->conf); mdfld_crtc_dpms() 400 REG_WRITE(map->conf, temp); mdfld_crtc_dpms() 414 temp = REG_READ(map->conf); mdfld_crtc_dpms() 416 REG_WRITE(map->conf, temp); mdfld_crtc_dpms() 450 temp = REG_READ(map->conf); mdfld_crtc_dpms() 454 REG_WRITE(map->conf, temp); mdfld_crtc_dpms() 455 REG_READ(map->conf); mdfld_crtc_dpms() 1003 !(REG_READ(map->conf) & PIPECONF_DSIPLL_LOCK)) { mdfld_crtc_mode_set() 1013 REG_WRITE(map->conf, dev_priv->pipeconf[pipe]); mdfld_crtc_mode_set() 1014 REG_READ(map->conf); mdfld_crtc_mode_set()
|
H A D | gma_display.c | 254 temp = REG_READ(map->conf); gma_crtc_dpms() 256 REG_WRITE(map->conf, temp | PIPEACONF_ENABLE); gma_crtc_dpms() 300 temp = REG_READ(map->conf); gma_crtc_dpms() 302 REG_WRITE(map->conf, temp & ~PIPEACONF_ENABLE); gma_crtc_dpms() 303 REG_READ(map->conf); gma_crtc_dpms() 571 crtc_state->savePIPECONF = REG_READ(map->conf); gma_crtc_save() 643 REG_WRITE(map->conf, crtc_state->savePIPECONF); gma_crtc_restore()
|
/linux-4.4.14/drivers/gpu/drm/nouveau/ |
H A D | nouveau_bios.c | 145 * conf byte. These tables are similar to the TMDS tables, consisting run_lvds_table() 1398 uint32_t conn, uint32_t conf, struct dcb_output *entry) parse_dcb20_entry() 1414 * Although the rest of a CRT conf dword is usually parse_dcb20_entry() 1418 (conf & 0xffff) * 10 : parse_dcb20_entry() 1419 (conf & 0xff) * 10000; parse_dcb20_entry() 1424 if (conf & 0x1) parse_dcb20_entry() 1438 if (conf & 0x4 || conf & 0x8) parse_dcb20_entry() 1442 if (conf & 0x2) parse_dcb20_entry() 1444 if (conf & 0x4) parse_dcb20_entry() 1446 entry->lvdsconf.sor.link = (conf & 0x00000030) >> 4; parse_dcb20_entry() 1449 if (conf & mask) { parse_dcb20_entry() 1465 entry->tvconf.has_component_output = conf & (0x8 << 4); parse_dcb20_entry() 1472 entry->dpconf.sor.link = (conf & 0x00000030) >> 4; parse_dcb20_entry() 1473 entry->extdev = (conf & 0x0000ff00) >> 8; parse_dcb20_entry() 1474 switch ((conf & 0x00e00000) >> 21) { parse_dcb20_entry() 1485 switch ((conf & 0x0f000000) >> 24) { parse_dcb20_entry() 1502 entry->tmdsconf.sor.link = (conf & 0x00000030) >> 4; parse_dcb20_entry() 1503 entry->extdev = (conf & 0x0000ff00) >> 8; parse_dcb20_entry() 1507 entry->tmdsconf.slave_addr = (conf & 0x00000700) >> 8; parse_dcb20_entry() 1509 entry->tmdsconf.slave_addr = (conf & 0x00000070) >> 4; parse_dcb20_entry() 1530 if (conf & 0x100000) parse_dcb20_entry() 1540 uint32_t conn, uint32_t conf, struct dcb_output *entry) parse_dcb15_entry() 1575 entry->crtconf.maxfreq = (conf & 0xffff) * 10; parse_dcb15_entry() 1643 apply_dcb_encoder_quirks(struct drm_device *dev, int idx, u32 *conn, u32 *conf) apply_dcb_encoder_quirks() argument 1661 if (*conn == 0x02026312 && *conf == 0x00000020) apply_dcb_encoder_quirks() 1671 if (*conn == 0xf2005014 && *conf == 0xffffffff) { apply_dcb_encoder_quirks() 1684 *conf = 0x00000028; apply_dcb_encoder_quirks() 1688 *conf = 0x00020030; apply_dcb_encoder_quirks() 1692 *conf = 0x00000028; apply_dcb_encoder_quirks() 1696 *conf = 0x00020010; apply_dcb_encoder_quirks() 1699 *conf = 0x00000000; apply_dcb_encoder_quirks() 1715 *conf = 0x00000028; apply_dcb_encoder_quirks() 1719 *conf = 0x00020030; apply_dcb_encoder_quirks() 1723 *conf = 0x00000028; apply_dcb_encoder_quirks() 1727 *conf = 0x00020010; apply_dcb_encoder_quirks() 1730 *conf = 0x00000000; apply_dcb_encoder_quirks() 1785 u32 conf = (dcb->version >= 0x20) ? ROM32(outp[4]) : ROM32(outp[6]); parse_dcb_entry() local 1789 if (apply_dcb_encoder_quirks(dev, idx, &conn, &conf)) { parse_dcb_entry() 1792 NV_INFO(drm, "DCB outp %02d: %08x %08x\n", idx, conn, conf); parse_dcb_entry() 1795 ret = parse_dcb20_entry(dev, dcb, conn, conf, entry); parse_dcb_entry() 1797 ret = parse_dcb15_entry(dev, dcb, conn, conf, entry); parse_dcb_entry() 1397 parse_dcb20_entry(struct drm_device *dev, struct dcb_table *dcb, uint32_t conn, uint32_t conf, struct dcb_output *entry) parse_dcb20_entry() argument 1539 parse_dcb15_entry(struct drm_device *dev, struct dcb_table *dcb, uint32_t conn, uint32_t conf, struct dcb_output *entry) parse_dcb15_entry() argument
|
/linux-4.4.14/drivers/staging/lustre/lustre/lov/ |
H A D | lov_object.c | 59 const struct cl_object_conf *conf, 99 const struct cl_object_conf *conf, lov_init_empty() 114 const struct cl_object_conf *conf) lov_sub_find() 118 o = lu_object_find_at(env, cl2lu_dev(dev), fid, &conf->coc_lu); lov_sub_find() 196 const struct cl_object_conf *conf, lov_init_raid0() 205 struct lov_stripe_md *lsm = conf->u.coc_md->lsm; lov_init_raid0() 224 subconf->coc_inode = conf->coc_inode; lov_init_raid0() 267 const struct cl_object_conf *conf, lov_init_released() 270 struct lov_stripe_md *lsm = conf->u.coc_md->lsm; lov_init_released() 654 const struct cl_object_conf *conf) lov_layout_change() 669 if (conf->u.coc_md != NULL) lov_layout_change() 670 llt = lov_type(conf->u.coc_md->lsm); lov_layout_change() 698 lov, conf, state); lov_layout_change() 720 const struct lu_object_conf *conf) lov_object_init() 724 const struct cl_object_conf *cconf = lu2cl_conf(conf); lov_object_init() 745 const struct cl_object_conf *conf) lov_conf_set() 752 if (conf->coc_opc == OBJECT_CONF_INVALIDATE) { lov_conf_set() 758 if (conf->coc_opc == OBJECT_CONF_WAIT) { lov_conf_set() 768 LASSERT(conf->coc_opc == OBJECT_CONF_SET); lov_conf_set() 770 if (conf->u.coc_md != NULL) lov_conf_set() 771 lsm = conf->u.coc_md->lsm; lov_conf_set() 789 lov->lo_layout_invalid = lov_layout_change(env, lov, conf); lov_conf_set() 97 lov_init_empty(const struct lu_env *env, struct lov_device *dev, struct lov_object *lov, const struct cl_object_conf *conf, union lov_layout_state *state) lov_init_empty() argument 111 lov_sub_find(const struct lu_env *env, struct cl_device *dev, const struct lu_fid *fid, const struct cl_object_conf *conf) lov_sub_find() argument 194 lov_init_raid0(const struct lu_env *env, struct lov_device *dev, struct lov_object *lov, const struct cl_object_conf *conf, union lov_layout_state *state) lov_init_raid0() argument 265 lov_init_released(const struct lu_env *env, struct lov_device *dev, struct lov_object *lov, const struct cl_object_conf *conf, union lov_layout_state *state) lov_init_released() argument 652 lov_layout_change(const struct lu_env *unused, struct lov_object *lov, const struct cl_object_conf *conf) lov_layout_change() argument 719 lov_object_init(const struct lu_env *env, struct lu_object *obj, const struct lu_object_conf *conf) lov_object_init() argument 744 lov_conf_set(const struct lu_env *env, struct cl_object *obj, const struct cl_object_conf *conf) lov_conf_set() argument
|
/linux-4.4.14/drivers/net/wireless/ti/wl1251/ |
H A D | main.c | 603 static bool wl1251_can_do_pm(struct ieee80211_conf *conf, struct wl1251 *wl) wl1251_can_do_pm() argument 605 return (conf->flags & IEEE80211_CONF_PS) && !wl->monitor_present; wl1251_can_do_pm() 611 struct ieee80211_conf *conf = &hw->conf; wl1251_op_config() local 615 conf->chandef.chan->center_freq); wl1251_op_config() 620 conf->flags & IEEE80211_CONF_MONITOR ? "on" : "off", wl1251_op_config() 621 conf->flags & IEEE80211_CONF_PS ? "on" : "off", wl1251_op_config() 622 conf->power_level); wl1251_op_config() 633 if (conf->flags & IEEE80211_CONF_MONITOR) { wl1251_op_config() 667 if (wl1251_can_do_pm(conf, wl) && !wl->psm_requested) { wl1251_op_config() 672 wl->dtim_period = conf->ps_dtim_period; wl1251_op_config() 683 } else if (!wl1251_can_do_pm(conf, wl) && wl->psm_requested) { wl1251_op_config() 696 if (conf->flags & IEEE80211_CONF_IDLE) { wl1251_op_config() 711 if (conf->power_level != wl->power_level) { wl1251_op_config() 712 ret = wl1251_acx_tx_power(wl, conf->power_level); wl1251_op_config() 716 wl->power_level = conf->power_level; wl1251_op_config() 1018 if (hw->conf.flags & IEEE80211_CONF_IDLE) { wl1251_op_hw_scan() 1059 if (hw->conf.flags & IEEE80211_CONF_IDLE) wl1251_op_hw_scan() 1311 wl1251_debug(DEBUG_MAC80211, "mac80211 conf tx %d", queue); wl1251_op_conf_tx() 1349 struct ieee80211_conf *conf = &hw->conf; wl1251_op_get_survey() local 1354 survey->channel = conf->chandef.chan; wl1251_op_get_survey()
|
/linux-4.4.14/sound/soc/sh/rcar/ |
H A D | gen.c | 147 #define rsnd_gen_regmap_init(priv, id_size, reg_id, name, conf) \ 148 _rsnd_gen_regmap_init(priv, id_size, reg_id, name, conf, ARRAY_SIZE(conf)) _rsnd_gen_regmap_init() 153 struct rsnd_regmap_field_conf *conf, _rsnd_gen_regmap_init() 194 regf.reg = conf[i].reg_offset; _rsnd_gen_regmap_init() 195 regf.id_offset = conf[i].id_offset; _rsnd_gen_regmap_init() 205 gen->regs[conf[i].idx] = regs; _rsnd_gen_regmap_init() 149 _rsnd_gen_regmap_init(struct rsnd_priv *priv, int id_size, int reg_id, const char *name, struct rsnd_regmap_field_conf *conf, int conf_size) _rsnd_gen_regmap_init() argument
|
/linux-4.4.14/drivers/net/wireless/cw1200/ |
H A D | sta.c | 331 struct ieee80211_conf *conf = &dev->conf; cw1200_config() local 341 priv->output_power = conf->power_level; cw1200_config() 347 (priv->channel != conf->chandef.chan)) { cw1200_config() 348 struct ieee80211_channel *ch = conf->chandef.chan; cw1200_config() 376 if (!(conf->flags & IEEE80211_CONF_PS)) cw1200_config() 378 else if (conf->dynamic_ps_timeout <= 0) cw1200_config() 387 if (conf->dynamic_ps_timeout >= 0x80) cw1200_config() 391 conf->dynamic_ps_timeout << 1; cw1200_config() 416 (conf->flags & IEEE80211_CONF_IDLE) && cw1200_config() 427 conf->long_frame_max_tx_count, cw1200_config() 428 conf->short_frame_max_tx_count); cw1200_config() 430 priv->long_frame_max_tx_count = conf->long_frame_max_tx_count; cw1200_config() 432 (conf->short_frame_max_tx_count < 0x0F) ? cw1200_config() 433 conf->short_frame_max_tx_count : 0x0F; cw1200_config() 1216 struct ieee80211_bss_conf *conf = &priv->vif->bss_conf; cw1200_do_join() local 1220 .mode = conf->ibss_joined ? cw1200_do_join() 1226 conf->basic_rates), cw1200_do_join() 1242 if (!bss && !conf->ibss_joined) { cw1200_do_join() 1249 /* Under the conf lock: check scan status and cw1200_do_join() 1282 if (priv->hw->conf.ps_dtim_period) cw1200_do_join() 1283 priv->join_dtim_period = priv->hw->conf.ps_dtim_period; cw1200_do_join() 1296 if (!conf->ibss_joined) { cw1200_do_join() 1314 if (!conf->ibss_joined) { cw1200_do_join() 1923 priv->ht_info.channel_type = cfg80211_get_chandef_type(&dev->conf.chandef); cw1200_bss_info_changed() 2322 struct ieee80211_bss_conf *conf = &priv->vif->bss_conf; cw1200_start_ap() local 2329 .beacon_interval = conf->beacon_int, cw1200_start_ap() 2330 .dtim_period = conf->dtim_period, cw1200_start_ap() 2331 .preamble = conf->use_short_preamble ? cw1200_start_ap() 2336 conf->basic_rates), cw1200_start_ap() 2344 if (!conf->hidden_ssid) { cw1200_start_ap() 2345 start.ssid_len = conf->ssid_len; cw1200_start_ap() 2346 memcpy(start.ssid, conf->ssid, start.ssid_len); cw1200_start_ap() 2349 priv->beacon_int = conf->beacon_int; cw1200_start_ap() 2350 priv->join_dtim_period = conf->dtim_period; cw1200_start_ap() 2377 struct ieee80211_bss_conf *conf = &priv->vif->bss_conf; cw1200_update_beaconing() local 2386 priv->beacon_int != conf->beacon_int) { cw1200_update_beaconing()
|
/linux-4.4.14/drivers/net/ |
H A D | vxlan.c | 2770 struct vxlan_config *conf) vxlan_dev_configure() 2783 dst->remote_vni = conf->vni; vxlan_dev_configure() 2785 memcpy(&dst->remote_ip, &conf->remote_ip, sizeof(conf->remote_ip)); vxlan_dev_configure() 2799 if (conf->remote_ifindex) { vxlan_dev_configure() 2800 lowerdev = __dev_get_by_index(src_net, conf->remote_ifindex); vxlan_dev_configure() 2801 dst->remote_ifindex = conf->remote_ifindex; vxlan_dev_configure() 2818 if (!conf->mtu) vxlan_dev_configure() 2824 if (conf->mtu) { vxlan_dev_configure() 2825 err = __vxlan_change_mtu(dev, lowerdev, dst, conf->mtu, false); vxlan_dev_configure() 2830 if (use_ipv6 || conf->flags & VXLAN_F_COLLECT_METADATA) vxlan_dev_configure() 2836 memcpy(&vxlan->cfg, conf, sizeof(*conf)); vxlan_dev_configure() 2839 vxlan->flags |= conf->flags; vxlan_dev_configure() 2845 if (tmp->cfg.vni == conf->vni && vxlan_dev_configure() 2882 u8 name_assign_type, struct vxlan_config *conf) vxlan_dev_create() 2895 err = vxlan_dev_configure(net, dev, conf); vxlan_dev_create() 2908 struct vxlan_config conf; vxlan_newlink() local 2911 memset(&conf, 0, sizeof(conf)); vxlan_newlink() 2914 conf.vni = nla_get_u32(data[IFLA_VXLAN_ID]); vxlan_newlink() 2917 conf.remote_ip.sin.sin_addr.s_addr = nla_get_in_addr(data[IFLA_VXLAN_GROUP]); vxlan_newlink() 2922 conf.remote_ip.sin6.sin6_addr = nla_get_in6_addr(data[IFLA_VXLAN_GROUP6]); vxlan_newlink() 2923 conf.remote_ip.sa.sa_family = AF_INET6; vxlan_newlink() 2927 conf.saddr.sin.sin_addr.s_addr = nla_get_in_addr(data[IFLA_VXLAN_LOCAL]); vxlan_newlink() 2928 conf.saddr.sa.sa_family = AF_INET; vxlan_newlink() 2934 conf.saddr.sin6.sin6_addr = nla_get_in6_addr(data[IFLA_VXLAN_LOCAL6]); vxlan_newlink() 2935 conf.saddr.sa.sa_family = AF_INET6; vxlan_newlink() 2939 conf.remote_ifindex = nla_get_u32(data[IFLA_VXLAN_LINK]); vxlan_newlink() 2942 conf.tos = nla_get_u8(data[IFLA_VXLAN_TOS]); vxlan_newlink() 2945 conf.ttl = nla_get_u8(data[IFLA_VXLAN_TTL]); vxlan_newlink() 2948 conf.flags |= VXLAN_F_LEARN; vxlan_newlink() 2951 conf.age_interval = nla_get_u32(data[IFLA_VXLAN_AGEING]); vxlan_newlink() 2954 conf.flags |= VXLAN_F_PROXY; vxlan_newlink() 2957 conf.flags |= VXLAN_F_RSC; vxlan_newlink() 2960 conf.flags |= VXLAN_F_L2MISS; vxlan_newlink() 2963 conf.flags |= VXLAN_F_L3MISS; vxlan_newlink() 2966 conf.addrmax = nla_get_u32(data[IFLA_VXLAN_LIMIT]); vxlan_newlink() 2970 conf.flags |= VXLAN_F_COLLECT_METADATA; vxlan_newlink() 2975 conf.port_min = ntohs(p->low); vxlan_newlink() 2976 conf.port_max = ntohs(p->high); vxlan_newlink() 2980 conf.dst_port = nla_get_be16(data[IFLA_VXLAN_PORT]); vxlan_newlink() 2983 conf.flags |= VXLAN_F_UDP_CSUM; vxlan_newlink() 2987 conf.flags |= VXLAN_F_UDP_ZERO_CSUM6_TX; vxlan_newlink() 2991 conf.flags |= VXLAN_F_UDP_ZERO_CSUM6_RX; vxlan_newlink() 2995 conf.flags |= VXLAN_F_REMCSUM_TX; vxlan_newlink() 2999 conf.flags |= VXLAN_F_REMCSUM_RX; vxlan_newlink() 3002 conf.flags |= VXLAN_F_GBP; vxlan_newlink() 3005 conf.flags |= VXLAN_F_REMCSUM_NOPARTIAL; vxlan_newlink() 3008 conf.mtu = nla_get_u32(tb[IFLA_MTU]); vxlan_newlink() 3010 err = vxlan_dev_configure(src_net, dev, &conf); vxlan_newlink() 3013 pr_info("ifindex %d does not exist\n", conf.remote_ifindex); vxlan_newlink() 3021 pr_info("duplicate VNI %u\n", conf.vni); vxlan_newlink() 2769 vxlan_dev_configure(struct net *src_net, struct net_device *dev, struct vxlan_config *conf) vxlan_dev_configure() argument 2881 vxlan_dev_create(struct net *net, const char *name, u8 name_assign_type, struct vxlan_config *conf) vxlan_dev_create() argument
|
/linux-4.4.14/drivers/net/wireless/ath/wcn36xx/ |
H A D | wcn36xx.h | 87 #define WCN36XX_HW_CHANNEL(__wcn) (__wcn->hw->conf.chandef.chan->hw_value) 88 #define WCN36XX_BAND(__wcn) (__wcn->hw->conf.chandef.chan->band) 89 #define WCN36XX_CENTER_FREQ(__wcn) (__wcn->hw->conf.chandef.chan->center_freq) 90 #define WCN36XX_LISTEN_INTERVAL(__wcn) (__wcn->hw->conf.listen_interval) 92 #define WCN36XX_MAX_POWER(__wcn) (__wcn->hw->conf.chandef.chan->max_power)
|
/linux-4.4.14/arch/um/drivers/ |
H A D | ssl.c | 68 static char *conf[NR_PORTS]; variable 170 char *s = conf[i]; ssl_init() 194 line_setup(conf, NR_PORTS, &def_conf, str, "serial line"); ssl_chan_setup()
|
/linux-4.4.14/tools/usb/ffs-aio-example/multibuff/host_app/ |
H A D | test.c | 157 struct libusb_config_descriptor *conf; main() local 164 libusb_get_config_descriptor(state.found, 0, &conf); main() 165 iface = &conf->interface[0].altsetting[0]; main()
|
/linux-4.4.14/tools/usb/ffs-aio-example/simple/host_app/ |
H A D | test.c | 157 struct libusb_config_descriptor *conf; main() local 164 libusb_get_config_descriptor(state.found, 0, &conf); main() 165 iface = &conf->interface[0].altsetting[0]; main()
|
/linux-4.4.14/drivers/net/wireless/libertas_tf/ |
H A D | main.c | 412 struct ieee80211_conf *conf = &hw->conf; lbtf_op_config() local 415 if (conf->chandef.chan->center_freq != priv->cur_freq) { lbtf_op_config() 416 priv->cur_freq = conf->chandef.chan->center_freq; lbtf_op_config() 417 lbtf_set_channel(priv, conf->chandef.chan->hw_value); lbtf_op_config() 532 struct ieee80211_conf *conf = &hw->conf; lbtf_op_get_survey() local 537 survey->channel = conf->chandef.chan; lbtf_op_get_survey()
|
/linux-4.4.14/drivers/net/wireless/ti/wl12xx/ |
H A D | wl12xx.h | 25 #include "conf.h" 77 struct wl12xx_priv_conf conf; member in struct:wl12xx_priv
|
H A D | scan.c | 32 struct conf_scan_settings *c = &wl->conf.scan; wl1271_get_scan_channels() 115 if (wl->conf.scan.split_scan_timeout) wl1271_scan_send() 143 cmd->params.n_probe_reqs = wl->conf.scan.num_probe_reqs; wl1271_scan_send() 169 trigger->timeout = cpu_to_le32(wl->conf.scan.split_scan_timeout); wl1271_scan_send() 328 struct conf_sched_scan_settings *c = &wl->conf.sched_scan; wl1271_scan_sched_scan_config()
|
H A D | cmd.h | 26 #include "conf.h"
|
/linux-4.4.14/firmware/av7110/ |
H A D | Boot.S | 49 .word conf 51 conf: .word 0xa5a55a5a label
|
/linux-4.4.14/drivers/tty/serial/ |
H A D | msm_serial.c | 135 struct dma_slave_config conf; msm_request_tx_dma() local 149 memset(&conf, 0, sizeof(conf)); msm_request_tx_dma() 150 conf.direction = DMA_MEM_TO_DEV; msm_request_tx_dma() 151 conf.device_fc = true; msm_request_tx_dma() 152 conf.dst_addr = base + UARTDM_TF; msm_request_tx_dma() 153 conf.dst_maxburst = UARTDM_BURST_SIZE; msm_request_tx_dma() 154 conf.slave_id = crci; msm_request_tx_dma() 156 ret = dmaengine_slave_config(dma->chan, &conf); msm_request_tx_dma() 178 struct dma_slave_config conf; msm_request_rx_dma() local 196 memset(&conf, 0, sizeof(conf)); msm_request_rx_dma() 197 conf.direction = DMA_DEV_TO_MEM; msm_request_rx_dma() 198 conf.device_fc = true; msm_request_rx_dma() 199 conf.src_addr = base + UARTDM_RF; msm_request_rx_dma() 200 conf.src_maxburst = UARTDM_BURST_SIZE; msm_request_rx_dma() 201 conf.slave_id = crci; msm_request_rx_dma() 203 ret = dmaengine_slave_config(dma->chan, &conf); msm_request_rx_dma()
|
H A D | max3100.c | 13 * writing conf clears FIFO buffer and we cannot have this interrupt 106 int conf; /* configuration for the MAX31000 member in struct:max3100_port 266 int conf, cconf, rts, crts; max3100_work() local 274 conf = s->conf; max3100_work() 282 max3100_sr(s, MAX3100_WC | conf, &rx); max3100_work() 372 s->conf &= ~MAX3100_RM; max3100_stop_rx() 443 param_new = s->conf & MAX3100_BAUD; max3100_set_termios() 540 s->conf = (s->conf & ~param_mask) | (param_new & param_mask); max3100_set_termios() 594 s->conf = MAX3100_RM; max3100_startup()
|
/linux-4.4.14/drivers/net/wireless/ath/ath5k/ |
H A D | mac80211-ops.c | 198 struct ieee80211_conf *conf = &hw->conf; ath5k_config() local 205 ret = ath5k_chan_set(ah, &conf->chandef); ath5k_config() 211 (ah->ah_txpower.txp_requested != conf->power_level)) { ath5k_config() 212 ah->ah_txpower.txp_requested = conf->power_level; ath5k_config() 215 ath5k_hw_set_txpower_limit(ah, (conf->power_level * 2)); ath5k_config() 219 ah->ah_retry_long = conf->long_frame_max_tx_count; ath5k_config() 220 ah->ah_retry_short = conf->short_frame_max_tx_count; ath5k_config() 653 struct ieee80211_conf *conf = &hw->conf; ath5k_get_survey() local 674 survey->channel = conf->chandef.chan; ath5k_get_survey()
|
/linux-4.4.14/drivers/media/platform/soc_camera/ |
H A D | mx3_camera.c | 467 u32 conf; mx3_camera_activate() local 473 conf = csi_reg_read(mx3_cam, CSI_OUT_FRM_CTRL) & 0xffff0000; mx3_camera_activate() 474 csi_reg_write(mx3_cam, conf, CSI_OUT_FRM_CTRL); mx3_camera_activate() 477 conf = 0 << CSI_SENS_CONF_SENS_PRTCL_SHIFT; mx3_camera_activate() 480 conf |= CSI_SENS_CONF_DATA_FMT_BAYER; mx3_camera_activate() 483 conf |= 3 << CSI_SENS_CONF_DATA_WIDTH_SHIFT; mx3_camera_activate() 485 conf |= 2 << CSI_SENS_CONF_DATA_WIDTH_SHIFT; mx3_camera_activate() 487 conf |= 1 << CSI_SENS_CONF_DATA_WIDTH_SHIFT; mx3_camera_activate() 489 conf |= 0 << CSI_SENS_CONF_DATA_WIDTH_SHIFT; mx3_camera_activate() 492 conf |= 1 << CSI_SENS_CONF_SENS_CLKSRC_SHIFT; mx3_camera_activate() 494 conf |= 1 << CSI_SENS_CONF_EXT_VSYNC_SHIFT; mx3_camera_activate() 496 conf |= 1 << CSI_SENS_CONF_DATA_POL_SHIFT; mx3_camera_activate() 498 conf |= 1 << CSI_SENS_CONF_PIX_CLK_POL_SHIFT; mx3_camera_activate() 500 conf |= 1 << CSI_SENS_CONF_HSYNC_POL_SHIFT; mx3_camera_activate() 502 conf |= 1 << CSI_SENS_CONF_VSYNC_POL_SHIFT; mx3_camera_activate() 505 csi_reg_write(mx3_cam, conf, CSI_SENS_CONF); mx3_camera_activate() 509 dev_dbg(mx3_cam->soc_host.v4l2_dev.dev, "Set SENS_CONF to %x, rate %ld\n", conf, rate); mx3_camera_activate()
|
/linux-4.4.14/sound/pci/ctxfi/ |
H A D | ctatc.c | 463 struct src_node_conf_t *conf, int *n_srcc) setup_src_node_conf() 474 conf[0].pitch = pitch; setup_src_node_conf() 475 conf[0].mix_msr = conf[0].imp_msr = conf[0].msr = 1; setup_src_node_conf() 476 conf[0].vo = 1; setup_src_node_conf() 481 conf[0].pitch = (atc->msr << 24); setup_src_node_conf() 482 conf[0].msr = conf[0].mix_msr = 1; setup_src_node_conf() 483 conf[0].imp_msr = atc->msr; setup_src_node_conf() 484 conf[0].vo = 0; setup_src_node_conf() 485 conf[1].pitch = atc_get_pitch(atc->rsr, setup_src_node_conf() 487 conf[1].msr = conf[1].mix_msr = conf[1].imp_msr = 1; setup_src_node_conf() 488 conf[1].vo = 1; setup_src_node_conf() 493 conf[0].pitch = pitch; setup_src_node_conf() 494 conf[0].msr = conf[0].mix_msr setup_src_node_conf() 495 = conf[0].imp_msr = atc->msr; setup_src_node_conf() 496 conf[0].vo = 1; setup_src_node_conf() 462 setup_src_node_conf(struct ct_atc *atc, struct ct_atc_pcm *apcm, struct src_node_conf_t *conf, int *n_srcc) setup_src_node_conf() argument
|
/linux-4.4.14/arch/x86/entry/vdso/vdso32/ |
H A D | note.S | 25 * like /lib/i686/tls/nosegneg. Note that an /etc/ld.so.conf.d/file
|
/linux-4.4.14/arch/sh/include/asm/ |
H A D | tlb_64.h | 67 #define sh64_setup_tlb_slot(conf, virt, asid, phys) do { } while (0)
|
/linux-4.4.14/drivers/watchdog/ |
H A D | via_wdt.c | 161 unsigned char conf; wdt_probe() local 182 pci_read_config_byte(pdev, VIA_WDT_CONF, &conf); wdt_probe() 183 conf |= VIA_WDT_CONF_ENABLE | VIA_WDT_CONF_MMIO; wdt_probe() 184 pci_write_config_byte(pdev, VIA_WDT_CONF, conf); wdt_probe()
|
/linux-4.4.14/drivers/media/platform/s5p-tv/ |
H A D | hdmiphy_drv.c | 180 const struct hdmiphy_conf *conf) hdmiphy_find_conf() 182 for (; conf->pixclk; ++conf) hdmiphy_find_conf() 183 if (conf->pixclk == pixclk) hdmiphy_find_conf() 184 return conf->data; hdmiphy_find_conf() 179 hdmiphy_find_conf(unsigned long pixclk, const struct hdmiphy_conf *conf) hdmiphy_find_conf() argument
|
/linux-4.4.14/drivers/net/irda/ |
H A D | smsc-ircc2.c | 122 int (*preconfigure)(struct pci_dev *dev, struct smsc_ircc_subsystem_configuration *conf); /* Preconfig function */ 230 static int __init preconfigure_smsc_chip(struct smsc_ircc_subsystem_configuration *conf); 231 static int __init preconfigure_through_82801(struct pci_dev *dev, struct smsc_ircc_subsystem_configuration *conf); 234 static int __init preconfigure_through_ali(struct pci_dev *dev, struct smsc_ircc_subsystem_configuration *conf); 2529 *conf) preconfigure_smsc_chip() 2531 unsigned short iobase = conf->cfg_base; preconfigure_smsc_chip() 2544 outb( (conf->sir_io >> 2), iobase + 1); // bits 2-9 of 0x3f8 preconfigure_smsc_chip() 2546 if (tmpbyte != (conf->sir_io >> 2) ) { preconfigure_smsc_chip() 2556 tmpbyte |= (conf->fir_irq & SMSCSIOFLAT_UART2IRQSELECT_MASK); preconfigure_smsc_chip() 2559 if (tmpbyte != conf->fir_irq) { preconfigure_smsc_chip() 2566 outb((conf->fir_io >> 3), iobase + 1); preconfigure_smsc_chip() 2568 if (tmpbyte != (conf->fir_io >> 3) ) { preconfigure_smsc_chip() 2575 outb((conf->fir_dma & LPC47N227_FIRDMASELECT_MASK), iobase + 1); // DMA preconfigure_smsc_chip() 2577 if (tmpbyte != (conf->fir_dma & LPC47N227_FIRDMASELECT_MASK)) { preconfigure_smsc_chip() 2630 *conf) preconfigure_through_82801() 2656 switch(conf->sir_io) { preconfigure_through_82801() 2692 switch(conf->cfg_base) { preconfigure_through_82801() 2707 conf->cfg_base); preconfigure_through_82801() 2732 switch(conf->fir_dma) { preconfigure_through_82801() 2766 tmpword = conf->fir_io & 0xfff8; preconfigure_through_82801() 2772 return preconfigure_smsc_chip(conf); preconfigure_through_82801() 2823 *conf) preconfigure_through_ali() 2826 preconfigure_ali_port(dev, conf->sir_io); preconfigure_through_ali() 2827 preconfigure_ali_port(dev, conf->fir_io); preconfigure_through_ali() 2830 return preconfigure_smsc_chip(conf); preconfigure_through_ali() 2845 struct smsc_ircc_subsystem_configuration *conf; for_each_pci_dev() local 2857 conf = subsystem_configurations; for_each_pci_dev() 2858 for( ; conf->subvendor; conf++) { for_each_pci_dev() 2859 if(conf->vendor == dev->vendor && for_each_pci_dev() 2860 conf->device == dev->device && for_each_pci_dev() 2861 conf->subvendor == ss_vendor && for_each_pci_dev() 2863 (conf->subdevice == ss_device || for_each_pci_dev() 2864 conf->subdevice == 0xffff)) { for_each_pci_dev() 2868 memcpy(&tmpconf, conf, for_each_pci_dev() 2887 conf->name); for_each_pci_dev() 2888 if (conf->preconfigure) for_each_pci_dev() 2889 ret = conf->preconfigure(dev, &tmpconf); for_each_pci_dev() 2527 preconfigure_smsc_chip(struct smsc_ircc_subsystem_configuration *conf) preconfigure_smsc_chip() argument 2627 preconfigure_through_82801(struct pci_dev *dev, struct smsc_ircc_subsystem_configuration *conf) preconfigure_through_82801() argument 2820 preconfigure_through_ali(struct pci_dev *dev, struct smsc_ircc_subsystem_configuration *conf) preconfigure_through_ali() argument
|
/linux-4.4.14/drivers/net/wireless/iwlwifi/dvm/ |
H A D | rxon.c | 83 cpu_to_le16(priv->hw->conf.chandef.chan->hw_value); iwl_connection_init_rx_config() 84 priv->band = priv->hw->conf.chandef.chan->band; iwl_connection_init_rx_config() 297 struct ieee80211_conf *conf = NULL; iwl_send_rxon_timing() local 301 conf = &priv->hw->conf; iwl_send_rxon_timing() 308 ctx->timing.listen_interval = cpu_to_le16(conf->listen_interval); iwl_send_rxon_timing() 952 sband = priv->hw->wiphy->bands[priv->hw->conf.chandef.chan->band]; iwl_calc_basic_rates() 1159 void iwlagn_config_ht40(struct ieee80211_conf *conf, iwlagn_config_ht40() argument 1162 if (conf_is_ht40_minus(conf)) { iwlagn_config_ht40() 1166 } else if (conf_is_ht40_plus(conf)) { iwlagn_config_ht40() 1181 struct ieee80211_conf *conf = &hw->conf; iwlagn_mac_config() local 1182 struct ieee80211_channel *channel = conf->chandef.chan; iwlagn_mac_config() 1202 priv->current_ht_config.smps = conf->smps_mode; iwlagn_mac_config() 1218 if (ctx->ht.enabled != conf_is_ht(conf)) for_each_context() 1219 ctx->ht.enabled = conf_is_ht(conf); for_each_context() 1226 iwlagn_config_ht40(conf, ctx); for_each_context() 1262 priv->tx_power_user_lmt, conf->power_level); 1264 iwl_set_tx_power(priv, conf->power_level, false);
|
H A D | rs.c | 1261 struct ieee80211_conf *conf, rs_switch_to_mimo2() 1271 if (!conf_is_ht(conf) || !sta->ht_cap.ht_supported) rs_switch_to_mimo2() 1316 struct ieee80211_conf *conf, rs_switch_to_mimo3() 1326 if (!conf_is_ht(conf) || !sta->ht_cap.ht_supported) rs_switch_to_mimo3() 1372 struct ieee80211_conf *conf, rs_switch_to_siso() 1382 if (!conf_is_ht(conf) || !sta->ht_cap.ht_supported) rs_switch_to_siso() 1421 struct ieee80211_conf *conf, rs_move_legacy_other() 1514 ret = rs_switch_to_siso(priv, lq_sta, conf, sta, rs_move_legacy_other() 1541 ret = rs_switch_to_mimo2(priv, lq_sta, conf, sta, rs_move_legacy_other() 1561 ret = rs_switch_to_mimo3(priv, lq_sta, conf, sta, rs_move_legacy_other() 1594 struct ieee80211_conf *conf, rs_move_siso_to_other() 1690 ret = rs_switch_to_mimo2(priv, lq_sta, conf, sta, rs_move_siso_to_other() 1734 ret = rs_switch_to_mimo3(priv, lq_sta, conf, sta, rs_move_siso_to_other() 1764 struct ieee80211_conf *conf, rs_move_mimo2_to_other() 1854 ret = rs_switch_to_siso(priv, lq_sta, conf, sta, rs_move_mimo2_to_other() 1901 ret = rs_switch_to_mimo3(priv, lq_sta, conf, sta, rs_move_mimo2_to_other() 1932 struct ieee80211_conf *conf, rs_move_mimo3_to_other() 2020 ret = rs_switch_to_siso(priv, lq_sta, conf, sta, rs_move_mimo3_to_other() 2044 ret = rs_switch_to_mimo2(priv, lq_sta, conf, sta, rs_move_mimo3_to_other() 2209 struct ieee80211_conf *conf = &hw->conf; rs_rate_scale_perform() local 2572 rs_move_legacy_other(priv, lq_sta, conf, sta, index); rs_rate_scale_perform() 2574 rs_move_siso_to_other(priv, lq_sta, conf, sta, index); rs_rate_scale_perform() 2576 rs_move_mimo2_to_other(priv, lq_sta, conf, sta, index); rs_rate_scale_perform() 2578 rs_move_mimo3_to_other(priv, lq_sta, conf, sta, index); rs_rate_scale_perform() 2605 if (is_legacy(tbl1->lq_type) && !conf_is_ht(conf) && rs_rate_scale_perform() 2798 struct ieee80211_conf *conf = &priv->hw->conf; iwl_rs_rate_init() local 2807 sband = hw->wiphy->bands[conf->chandef.chan->band]; iwl_rs_rate_init() 1259 rs_switch_to_mimo2(struct iwl_priv *priv, struct iwl_lq_sta *lq_sta, struct ieee80211_conf *conf, struct ieee80211_sta *sta, struct iwl_scale_tbl_info *tbl, int index) rs_switch_to_mimo2() argument 1314 rs_switch_to_mimo3(struct iwl_priv *priv, struct iwl_lq_sta *lq_sta, struct ieee80211_conf *conf, struct ieee80211_sta *sta, struct iwl_scale_tbl_info *tbl, int index) rs_switch_to_mimo3() argument 1370 rs_switch_to_siso(struct iwl_priv *priv, struct iwl_lq_sta *lq_sta, struct ieee80211_conf *conf, struct ieee80211_sta *sta, struct iwl_scale_tbl_info *tbl, int index) rs_switch_to_siso() argument 1419 rs_move_legacy_other(struct iwl_priv *priv, struct iwl_lq_sta *lq_sta, struct ieee80211_conf *conf, struct ieee80211_sta *sta, int index) rs_move_legacy_other() argument 1592 rs_move_siso_to_other(struct iwl_priv *priv, struct iwl_lq_sta *lq_sta, struct ieee80211_conf *conf, struct ieee80211_sta *sta, int index) rs_move_siso_to_other() argument 1762 rs_move_mimo2_to_other(struct iwl_priv *priv, struct iwl_lq_sta *lq_sta, struct ieee80211_conf *conf, struct ieee80211_sta *sta, int index) rs_move_mimo2_to_other() argument 1930 rs_move_mimo3_to_other(struct iwl_priv *priv, struct iwl_lq_sta *lq_sta, struct ieee80211_conf *conf, struct ieee80211_sta *sta, int index) rs_move_mimo3_to_other() argument
|
H A D | power.c | 292 bool enabled = priv->hw->conf.flags & IEEE80211_CONF_PS; iwl_power_build_cmd() 300 dtimper = priv->hw->conf.ps_dtim_period ?: 1; iwl_power_build_cmd() 305 priv->hw->conf.flags & IEEE80211_CONF_IDLE) iwl_power_build_cmd()
|
/linux-4.4.14/drivers/pinctrl/sirf/ |
H A D | pinctrl-atlas7.c | 4992 struct atlas7_pad_config *conf, __atlas7_pmx_pin_ad_sel() 4998 writel(ANA_CLEAR_MASK << conf->ad_ctrl_bit, __atlas7_pmx_pin_ad_sel() 4999 pmx->regs[bank] + CLR_REG(conf->ad_ctrl_reg)); __atlas7_pmx_pin_ad_sel() 5002 regv = readl(pmx->regs[bank] + conf->ad_ctrl_reg); __atlas7_pmx_pin_ad_sel() 5003 regv &= ~(ANA_CLEAR_MASK << conf->ad_ctrl_bit); __atlas7_pmx_pin_ad_sel() 5004 writel(regv | (ad_sel << conf->ad_ctrl_bit), __atlas7_pmx_pin_ad_sel() 5005 pmx->regs[bank] + conf->ad_ctrl_reg); __atlas7_pmx_pin_ad_sel() 5007 regv = readl(pmx->regs[bank] + conf->ad_ctrl_reg); __atlas7_pmx_pin_ad_sel() 5009 bank, conf->ad_ctrl_reg, regv); __atlas7_pmx_pin_ad_sel() 5014 struct atlas7_pad_config *conf, u32 bank) __atlas7_pmx_pin_analog_enable() 5017 if (conf->type != PAD_T_AD) __atlas7_pmx_pin_analog_enable() 5020 return __atlas7_pmx_pin_ad_sel(pmx, conf, bank, 0); __atlas7_pmx_pin_analog_enable() 5024 struct atlas7_pad_config *conf, u32 bank) __atlas7_pmx_pin_digital_enable() 5027 if (conf->type != PAD_T_AD) __atlas7_pmx_pin_digital_enable() 5030 return __atlas7_pmx_pin_ad_sel(pmx, conf, bank, 1); __atlas7_pmx_pin_digital_enable() 5036 struct atlas7_pad_config *conf; __atlas7_pmx_pin_enable() local 5045 conf = &pmx->pctl_data->confs[pin]; __atlas7_pmx_pin_enable() 5050 ret = __atlas7_pmx_pin_analog_enable(pmx, conf, bank); __atlas7_pmx_pin_enable() 5059 ret = __atlas7_pmx_pin_digital_enable(pmx, conf, bank); __atlas7_pmx_pin_enable() 5068 writel(FUNC_CLEAR_MASK << conf->mux_bit, __atlas7_pmx_pin_enable() 5069 pmx->regs[bank] + CLR_REG(conf->mux_reg)); __atlas7_pmx_pin_enable() 5072 regv = readl(pmx->regs[bank] + conf->mux_reg); __atlas7_pmx_pin_enable() 5073 regv &= ~(FUNC_CLEAR_MASK << conf->mux_bit); __atlas7_pmx_pin_enable() 5074 writel(regv | (func << conf->mux_bit), __atlas7_pmx_pin_enable() 5075 pmx->regs[bank] + conf->mux_reg); __atlas7_pmx_pin_enable() 5077 regv = readl(pmx->regs[bank] + conf->mux_reg); __atlas7_pmx_pin_enable() 5079 bank, conf->mux_reg, regv); __atlas7_pmx_pin_enable() 5146 struct atlas7_pad_config *conf = &pmx->pctl_data->confs[pin]; altas7_pinctrl_set_pull_sel() local 5153 pull_info = &atlas7_pull_map[conf->type]; altas7_pinctrl_set_pull_sel() 5154 pull_sel_reg = pmx->regs[bank] + conf->pupd_reg; altas7_pinctrl_set_pull_sel() 5160 writel(pull_info->mask << conf->pupd_bit, CLR_REG(pull_sel_reg)); altas7_pinctrl_set_pull_sel() 5161 writel(regv << conf->pupd_bit, pull_sel_reg); altas7_pinctrl_set_pull_sel() 5172 struct atlas7_pad_config *conf = &pmx->pctl_data->confs[pin]; __altas7_pinctrl_set_drive_strength_sel() local 5177 ds_info = &atlas7_ds_map[conf->type]; __altas7_pinctrl_set_drive_strength_sel() 5182 ds_sel_reg = pmx->regs[bank] + conf->drvstr_reg; __altas7_pinctrl_set_drive_strength_sel() 5184 writel(ds_info->imval << conf->drvstr_bit, CLR_REG(ds_sel_reg)); __altas7_pinctrl_set_drive_strength_sel() 5185 writel(sel << conf->drvstr_bit, ds_sel_reg); __altas7_pinctrl_set_drive_strength_sel() 5191 pin, conf->type, sel); __altas7_pinctrl_set_drive_strength_sel() 5199 struct atlas7_pad_config *conf = &pmx->pctl_data->confs[pin]; altas7_pinctrl_set_drive_strength_sel() local 5200 u32 type = conf->type; altas7_pinctrl_set_drive_strength_sel() 5204 sel = convert_current_to_drive_strength(conf->type, ma); altas7_pinctrl_set_drive_strength_sel() 5443 struct atlas7_pad_config *conf; atlas7_pinmux_suspend_noirq() local 5452 conf = &pmx->pctl_data->confs[idx]; atlas7_pinmux_suspend_noirq() 5457 regv = readl(pmx->regs[bank] + conf->mux_reg); atlas7_pinmux_suspend_noirq() 5458 status->func = (regv >> conf->mux_bit) & FUNC_CLEAR_MASK; atlas7_pinmux_suspend_noirq() 5461 if (conf->ad_ctrl_reg == -1) atlas7_pinmux_suspend_noirq() 5464 regv = readl(pmx->regs[bank] + conf->ad_ctrl_reg); atlas7_pinmux_suspend_noirq() 5465 if (!(regv & (conf->ad_ctrl_bit << ANA_CLEAR_MASK))) atlas7_pinmux_suspend_noirq() 5469 if (conf->drvstr_reg == -1) atlas7_pinmux_suspend_noirq() 5473 ds_info = &atlas7_ds_map[conf->type]; atlas7_pinmux_suspend_noirq() 5474 regv = readl(pmx->regs[bank] + conf->drvstr_reg); atlas7_pinmux_suspend_noirq() 5475 status->dstr = (regv >> conf->drvstr_bit) & ds_info->mask; atlas7_pinmux_suspend_noirq() 5479 pull_info = &atlas7_pull_map[conf->type]; atlas7_pinmux_suspend_noirq() 5480 regv = readl(pmx->regs[bank] + conf->pupd_reg); atlas7_pinmux_suspend_noirq() 5481 regv = (regv >> conf->pupd_bit) & pull_info->mask; atlas7_pinmux_suspend_noirq() 5503 struct atlas7_pad_config *conf; atlas7_pinmux_resume_noirq() local 5509 conf = &pmx->pctl_data->confs[idx]; atlas7_pinmux_resume_noirq() 4991 __atlas7_pmx_pin_ad_sel(struct atlas7_pmx *pmx, struct atlas7_pad_config *conf, u32 bank, u32 ad_sel) __atlas7_pmx_pin_ad_sel() argument 5013 __atlas7_pmx_pin_analog_enable(struct atlas7_pmx *pmx, struct atlas7_pad_config *conf, u32 bank) __atlas7_pmx_pin_analog_enable() argument 5023 __atlas7_pmx_pin_digital_enable(struct atlas7_pmx *pmx, struct atlas7_pad_config *conf, u32 bank) __atlas7_pmx_pin_digital_enable() argument
|
/linux-4.4.14/drivers/video/fbdev/ |
H A D | cg6.c | 614 u32 conf; cg6_init_fix() local 616 conf = sbus_readl(par->fhc); cg6_init_fix() 617 switch (conf & CG6_FHC_CPU_MASK) { cg6_init_fix() 628 if (((conf >> CG6_FHC_REV_SHIFT) & CG6_FHC_REV_MASK) >= 11) { cg6_init_fix() 672 u32 rev, conf, mode; cg6_chip_init() local 686 conf = (sbus_readl(par->fhc) & CG6_FHC_RES_MASK) | cg6_chip_init() 691 conf |= CG6_FHC_DST_DISABLE; cg6_chip_init() 692 sbus_writel(conf, par->fhc); cg6_chip_init()
|
/linux-4.4.14/drivers/gpu/drm/sti/ |
H A D | sti_hdmi.c | 213 u32 conf; hdmi_config() local 218 conf = HDMI_CFG_FIFO_OVERRUN_CLR | HDMI_CFG_FIFO_UNDERRUN_CLR; hdmi_config() 221 conf |= HDMI_CFG_HDMI_NOT_DVI | HDMI_CFG_ESS_NOT_OESS; hdmi_config() 224 conf |= HDMI_CFG_SINK_TERM_DET_EN; hdmi_config() 229 conf |= HDMI_CFG_H_SYNC_POL_NEG; hdmi_config() 235 conf |= HDMI_CFG_V_SYNC_POL_NEG; hdmi_config() 239 conf |= HDMI_CFG_DEVICE_EN; hdmi_config() 241 hdmi_write(hdmi, conf, HDMI_CFG); hdmi_config()
|
/linux-4.4.14/drivers/block/paride/ |
H A D | pcd.c | 713 int *conf = *drives[unit]; pcd_detect() local 714 if (!conf[D_PRT]) pcd_detect() 716 if (!pi_init(cd->pi, 0, conf[D_PRT], conf[D_MOD], pcd_detect() 717 conf[D_UNI], conf[D_PRO], conf[D_DLY], pcd_detect() 720 if (!pcd_probe(cd, conf[D_SLV], id) && cd->disk) { pcd_detect()
|
/linux-4.4.14/scripts/ |
H A D | setlocalversion | 143 if test -e include/config/auto.conf; then 144 . include/config/auto.conf
|
/linux-4.4.14/drivers/gpu/drm/msm/hdmi/ |
H A D | hdmi_phy_8960.c | 51 } conf[32]; member in struct:pll_rate 390 for (i = 0; pll_rate->conf[i].reg; i++) hdmi_pll_set_rate() 391 hdmi_write(hdmi, pll_rate->conf[i].reg, pll_rate->conf[i].val); hdmi_pll_set_rate()
|
/linux-4.4.14/tools/perf/Documentation/ |
H A D | Makefile | 113 # pass-thru raw roff codes from asciidoc.conf, so turn them off. 168 $(DOC_HTML) $(DOC_MAN1) $(DOC_MAN5) $(DOC_MAN7): asciidoc.conf 267 $(ASCIIDOC) -b xhtml11 -d manpage -f asciidoc.conf \ 277 $(ASCIIDOC) -b docbook -d manpage -f asciidoc.conf \
|
/linux-4.4.14/drivers/staging/lustre/lustre/obdclass/ |
H A D | lu_object.c | 198 const struct lu_object_conf *conf) lu_object_alloc() 236 result = scan->lo_ops->loo_object_init(env, scan, conf); list_for_each_entry() 578 const struct lu_object_conf *conf) lu_object_find() 580 return lu_object_find_at(env, dev->ld_site->ls_top_dev, f, conf); lu_object_find() 586 const struct lu_object_conf *conf) lu_object_new() 592 o = lu_object_alloc(env, dev, f, conf); lu_object_new() 609 const struct lu_object_conf *conf, lu_object_find_try() 639 if (conf != NULL && conf->loc_flags & LOC_F_NEW) lu_object_find_try() 640 return lu_object_new(env, dev, f, conf); lu_object_find_try() 654 o = lu_object_alloc(env, dev, f, conf); lu_object_find_try() 683 const struct lu_object_conf *conf) lu_object_find_at() 690 obj = lu_object_find_try(env, dev, f, conf, &wait); lu_object_find_at() 710 const struct lu_object_conf *conf) lu_object_find_slice() 715 top = lu_object_find(env, dev, f, conf); lu_object_find_slice() 195 lu_object_alloc(const struct lu_env *env, struct lu_device *dev, const struct lu_fid *f, const struct lu_object_conf *conf) lu_object_alloc() argument 575 lu_object_find(const struct lu_env *env, struct lu_device *dev, const struct lu_fid *f, const struct lu_object_conf *conf) lu_object_find() argument 583 lu_object_new(const struct lu_env *env, struct lu_device *dev, const struct lu_fid *f, const struct lu_object_conf *conf) lu_object_new() argument 606 lu_object_find_try(const struct lu_env *env, struct lu_device *dev, const struct lu_fid *f, const struct lu_object_conf *conf, wait_queue_t *waiter) lu_object_find_try() argument 680 lu_object_find_at(const struct lu_env *env, struct lu_device *dev, const struct lu_fid *f, const struct lu_object_conf *conf) lu_object_find_at() argument 707 lu_object_find_slice(const struct lu_env *env, struct lu_device *dev, const struct lu_fid *f, const struct lu_object_conf *conf) lu_object_find_slice() argument
|
/linux-4.4.14/scripts/basic/ |
H A D | fixdep.c | 227 if (*m == INT_CONF) { p = (char *) m ; goto conf; } parse_config_file() 228 if (*m == INT_ONFI) { p = (char *) m-1; goto conf; } parse_config_file() 229 if (*m == INT_NFIG) { p = (char *) m-2; goto conf; } parse_config_file() 230 if (*m == INT_FIG_) { p = (char *) m-3; goto conf; } parse_config_file() 232 conf: parse_config_file()
|
/linux-4.4.14/fs/nfsd/ |
H A D | nfs4state.c | 2350 struct nfs4_client *conf, *new; nfsd4_exchange_id() local 2386 conf = find_confirmed_client_by_name(&exid->clname, nn); nfsd4_exchange_id() 2387 if (conf) { nfsd4_exchange_id() 2388 bool creds_match = same_creds(&conf->cl_cred, &rqstp->rq_cred); nfsd4_exchange_id() 2389 bool verfs_match = same_verf(&verf, &conf->cl_verifier); nfsd4_exchange_id() 2392 if (!clp_used_exchangeid(conf)) { /* buggy client */ nfsd4_exchange_id() 2396 if (!mach_creds_match(conf, rqstp)) { nfsd4_exchange_id() 2413 if (client_has_state(conf)) { nfsd4_exchange_id() 2420 conf->cl_exchange_flags |= EXCHGID4_FLAG_CONFIRMED_R; nfsd4_exchange_id() 2424 conf = NULL; nfsd4_exchange_id() 2439 if (conf) { nfsd4_exchange_id() 2440 status = mark_client_expired_locked(conf); nfsd4_exchange_id() 2449 swap(new, conf); nfsd4_exchange_id() 2451 exid->clientid.cl_boot = conf->cl_clientid.cl_boot; nfsd4_exchange_id() 2452 exid->clientid.cl_id = conf->cl_clientid.cl_id; nfsd4_exchange_id() 2454 exid->seqid = conf->cl_cs_slot.sl_seqid + 1; nfsd4_exchange_id() 2455 nfsd4_set_ex_flags(conf, exid); nfsd4_exchange_id() 2458 conf->cl_cs_slot.sl_seqid, conf->cl_exchange_flags); nfsd4_exchange_id() 2609 struct nfs4_client *conf, *unconf; nfsd4_create_session() local 2638 conf = find_confirmed_client(&cr_ses->clientid, true, nn); nfsd4_create_session() 2639 WARN_ON_ONCE(conf && unconf); nfsd4_create_session() 2641 if (conf) { nfsd4_create_session() 2643 if (!mach_creds_match(conf, rqstp)) nfsd4_create_session() 2645 cs_slot = &conf->cl_cs_slot; nfsd4_create_session() 2677 conf = unconf; nfsd4_create_session() 2689 init_session(rqstp, new, conf, cr_ses); nfsd4_create_session() 3030 struct nfs4_client *conf, *unconf; nfsd4_destroy_clientid() local 3037 conf = find_confirmed_client(&dc->clientid, true, nn); nfsd4_destroy_clientid() 3038 WARN_ON_ONCE(conf && unconf); nfsd4_destroy_clientid() 3040 if (conf) { nfsd4_destroy_clientid() 3041 if (client_has_state(conf)) { nfsd4_destroy_clientid() 3045 status = mark_client_expired_locked(conf); nfsd4_destroy_clientid() 3048 clp = conf; nfsd4_destroy_clientid() 3111 struct nfs4_client *conf, *new; nfsd4_setclientid() local 3121 conf = find_confirmed_client_by_name(&clname, nn); nfsd4_setclientid() 3122 if (conf && client_has_state(conf)) { nfsd4_setclientid() 3125 if (clp_used_exchangeid(conf)) nfsd4_setclientid() 3127 if (!same_creds(&conf->cl_cred, &rqstp->rq_cred)) { nfsd4_setclientid() 3129 rpc_ntop((struct sockaddr *) &conf->cl_addr, addr_str, nfsd4_setclientid() 3139 if (conf && same_verf(&conf->cl_verifier, &clverifier)) { nfsd4_setclientid() 3141 copy_clid(new, conf); nfsd4_setclientid() 3168 struct nfs4_client *conf, *unconf; nfsd4_setclientid_confirm() local 3179 conf = find_confirmed_client(clid, false, nn); nfsd4_setclientid_confirm() 3191 if (conf && !same_creds(&conf->cl_cred, &rqstp->rq_cred)) nfsd4_setclientid_confirm() 3195 if (conf && !unconf) /* case 2: probable retransmit */ nfsd4_setclientid_confirm() 3202 if (conf) { /* case 1: callback update */ nfsd4_setclientid_confirm() 3205 nfsd4_change_callback(conf, &unconf->cl_cb_conn); nfsd4_setclientid_confirm() 3221 conf = unconf; nfsd4_setclientid_confirm() 3223 get_client_locked(conf); nfsd4_setclientid_confirm() 3225 nfsd4_probe_callback(conf); nfsd4_setclientid_confirm() 3227 put_client_renew_locked(conf); nfsd4_setclientid_confirm()
|
/linux-4.4.14/drivers/mmc/host/ |
H A D | jz4740_mmc.c | 276 struct dma_slave_config conf = { jz4740_mmc_start_dma_transfer() local 284 conf.direction = DMA_MEM_TO_DEV; jz4740_mmc_start_dma_transfer() 285 conf.dst_addr = host->mem_res->start + JZ_REG_MMC_TXFIFO; jz4740_mmc_start_dma_transfer() 286 conf.slave_id = JZ4740_DMA_TYPE_MMC_TRANSMIT; jz4740_mmc_start_dma_transfer() 289 conf.direction = DMA_DEV_TO_MEM; jz4740_mmc_start_dma_transfer() 290 conf.src_addr = host->mem_res->start + JZ_REG_MMC_RXFIFO; jz4740_mmc_start_dma_transfer() 291 conf.slave_id = JZ4740_DMA_TYPE_MMC_RECEIVE; jz4740_mmc_start_dma_transfer() 299 dmaengine_slave_config(chan, &conf); jz4740_mmc_start_dma_transfer() 303 conf.direction, jz4740_mmc_start_dma_transfer() 308 conf.direction == DMA_MEM_TO_DEV ? "TX" : "RX"); jz4740_mmc_start_dma_transfer()
|
/linux-4.4.14/drivers/net/wireless/brcm80211/brcmsmac/ |
H A D | mac80211_if.c | 526 struct ieee80211_conf *conf = &hw->conf; brcms_ops_config() local 535 conf->listen_interval); brcms_ops_config() 539 __func__, conf->flags & IEEE80211_CONF_MONITOR ? brcms_ops_config() 543 __func__, conf->flags & IEEE80211_CONF_PS ? brcms_ops_config() 547 err = brcms_c_set_tx_power(wl->wlc, conf->power_level); brcms_ops_config() 554 if (new_int != conf->power_level) brcms_ops_config() 557 __func__, conf->power_level, brcms_ops_config() 561 if (conf->chandef.width == NL80211_CHAN_WIDTH_20 || brcms_ops_config() 562 conf->chandef.width == NL80211_CHAN_WIDTH_20_NOHT) brcms_ops_config() 564 conf->chandef.chan->hw_value); brcms_ops_config() 570 conf->short_frame_max_tx_count, brcms_ops_config() 571 conf->long_frame_max_tx_count); brcms_ops_config()
|
/linux-4.4.14/drivers/crypto/ux500/hash/ |
H A D | hash_core.c | 125 struct dma_slave_config conf = { hash_dma_setup_channel() local 141 dmaengine_slave_config(device_data->dma.chan_mem2hash, &conf); hash_dma_setup_channel() 1491 struct hash_config conf; member in struct:hash_algo_template 1509 ctx->config.algorithm = hash_alg->conf.algorithm; hash_cra_init() 1510 ctx->config.oper_mode = hash_alg->conf.oper_mode; hash_cra_init() 1519 .conf.algorithm = HASH_ALGO_SHA1, 1520 .conf.oper_mode = HASH_OPER_MODE_HASH, 1541 .conf.algorithm = HASH_ALGO_SHA256, 1542 .conf.oper_mode = HASH_OPER_MODE_HASH, 1564 .conf.algorithm = HASH_ALGO_SHA1, 1565 .conf.oper_mode = HASH_OPER_MODE_HMAC, 1588 .conf.algorithm = HASH_ALGO_SHA256, 1589 .conf.oper_mode = HASH_OPER_MODE_HMAC,
|
/linux-4.4.14/ |
H A D | Makefile | 543 scripts: scripts_basic include/config/auto.conf include/config/tristate.conf \ 558 -include include/config/auto.conf 563 -include include/config/auto.conf.cmd 566 $(KCONFIG_CONFIG) include/config/auto.conf.cmd: ; 568 # If .config is newer than include/config/auto.conf, someone tinkered 570 # if auto.conf.cmd is missing then we are probably in a cleaned tree so 572 include/config/%.conf: $(KCONFIG_CONFIG) include/config/auto.conf.cmd 575 # external modules needs include/generated/autoconf.h and include/config/auto.conf 576 # but do not care if they are up-to-date. Use auto.conf to trigger the test 577 PHONY += include/config/auto.conf 579 include/config/auto.conf: 592 include/config/auto.conf: ; 951 include/config/kernel.release: include/config/auto.conf FORCE 981 include/config/auto.conf 1109 %/modules.builtin: include/config/auto.conf
|
/linux-4.4.14/drivers/lightnvm/ |
H A D | core.c | 382 struct nvm_ioctl_create_simple *s = &create->conf.s; nvm_create_target() 493 if (create->conf.type != NVM_CONFIG_TYPE_SIMPLE) { __nvm_configure_create() 497 s = &create->conf.s; __nvm_configure_create() 594 create.conf.type = NVM_CONFIG_TYPE_SIMPLE; nvm_configure_create() 595 create.conf.s.lun_begin = lun_begin; nvm_configure_create() 596 create.conf.s.lun_end = lun_end; nvm_configure_create()
|
/linux-4.4.14/drivers/net/wan/ |
H A D | dlci.c | 202 static int dlci_config(struct net_device *dev, struct dlci_conf __user *conf, int get) dlci_config() argument 215 if (copy_from_user(&config, conf, sizeof(struct dlci_conf))) dlci_config() 229 if (copy_to_user(conf, &dlp->config, sizeof(struct dlci_conf))) dlci_config()
|
/linux-4.4.14/drivers/usb/musb/ |
H A D | tusb6010.c | 225 void __iomem *ep_conf = hw_ep->conf; tusb_write_fifo() 275 void __iomem *ep_conf = hw_ep->conf; tusb_read_fifo() 557 u32 conf, prcm, timer; tusb_musb_set_vbus() local 567 conf = musb_readl(tbase, TUSB_DEV_CONF); tusb_musb_set_vbus() 576 conf |= TUSB_DEV_CONF_USB_HOST_MODE; tusb_musb_set_vbus() 608 conf &= ~TUSB_DEV_CONF_USB_HOST_MODE; tusb_musb_set_vbus() 614 musb_writel(tbase, TUSB_DEV_CONF, conf); tusb_musb_set_vbus() 617 dev_dbg(musb->controller, "VBUS %s, devctl %02x otg %3x conf %08x prcm %08x\n", tusb_musb_set_vbus() 621 conf, prcm); tusb_musb_set_vbus()
|
/linux-4.4.14/drivers/spi/ |
H A D | spi-ep93xx.c | 437 struct dma_slave_config conf; ep93xx_spi_dma_prepare() local 450 memset(&conf, 0, sizeof(conf)); ep93xx_spi_dma_prepare() 451 conf.direction = dir; ep93xx_spi_dma_prepare() 458 conf.src_addr = espi->sspdr_phys; ep93xx_spi_dma_prepare() 459 conf.src_addr_width = buswidth; ep93xx_spi_dma_prepare() 465 conf.dst_addr = espi->sspdr_phys; ep93xx_spi_dma_prepare() 466 conf.dst_addr_width = buswidth; ep93xx_spi_dma_prepare() 469 ret = dmaengine_slave_config(chan, &conf); ep93xx_spi_dma_prepare()
|
/linux-4.4.14/drivers/net/wireless/iwlwifi/mvm/ |
H A D | d3.c | 1517 struct ieee80211_key_conf conf; iwl_mvm_setup_connection_keep() member in struct:__anon8484 1519 } conf = { iwl_mvm_setup_connection_keep() local 1520 .conf.cipher = gtkdata.cipher, iwl_mvm_setup_connection_keep() 1521 .conf.keyidx = status->gtk.key_index, iwl_mvm_setup_connection_keep() 1526 conf.conf.keylen = WLAN_KEY_LEN_CCMP; iwl_mvm_setup_connection_keep() 1527 memcpy(conf.conf.key, status->gtk.decrypt_key, iwl_mvm_setup_connection_keep() 1531 conf.conf.keylen = WLAN_KEY_LEN_TKIP; iwl_mvm_setup_connection_keep() 1532 memcpy(conf.conf.key, status->gtk.decrypt_key, 16); iwl_mvm_setup_connection_keep() 1534 memcpy(conf.conf.key + iwl_mvm_setup_connection_keep() 1540 key = ieee80211_gtk_rekey_add(vif, &conf.conf); iwl_mvm_setup_connection_keep()
|