Searched refs:conf (Results 1 - 200 of 508) sorted by relevance

123

/linux-4.4.14/drivers/md/
H A Dfaulty.c94 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 Draid1.c69 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 Dmultipath.c34 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 Draid10.c99 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 Draid5.c30 * 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 Dlinear.c33 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 Draid0.c30 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 Draid5-cache.c762 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 Dem_text.c51 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 Dem_canid.c126 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 DMakefile6 $(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 Dxt_string.c28 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 Dtextsearch.h67 * @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 Dcommon-beacon.c56 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 Dantenna.c90 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 Dhtc_drv_beacon.c69 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 Dbeacon.c465 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 Dar5008_phy.c1216 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 Dhtc_drv_main.c188 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 Dar9003_phy.c1466 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 Dmain.c665 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 Dsb_card.c101 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 Dtrix.c275 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 Drt2x00config.c35 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 Drt2800lib.c1522 struct rt2x00intf_conf *conf, const unsigned int flags) rt2800_config_intf()
1532 rt2x00_set_field32(&reg, 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(&reg, 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 Drt73usb.c497 struct rt2x00intf_conf *conf, rt73usb_config_intf()
507 rt2x00_set_field32(&reg, 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 Dpata_piccolo.c37 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 Dpata_it821x.c131 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 Dpata_ep93xx.c651 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 Dsec_config.c464 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 Dnrs.c1109 * \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 Dservice.c345 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 Dts_bm.c62 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 Dts_kmp.c46 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 Dtextsearch.c78 * 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 Dts_fsm.c138 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 Dchan.c70 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 Dkey.c156 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 Ddebugfs_key.c51 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 Dtkip.c150 *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 Dwep.c248 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 Dcfg.c188 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 Dwpa.c41 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 Dmain.c99 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 Ddriver-ops.c248 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 Dpm.c102 !(local->hw.conf.flags & IEEE80211_CONF_PS)) { __ieee80211_suspend()
103 local->hw.conf.flags |= IEEE80211_CONF_PS; __ieee80211_suspend()
H A Doffchannel.c42 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 Dtrace.h64 #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 Ddriver-ops.h240 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 Dclk-pll.c50 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 Dclkc.h112 } 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 Dclkc.c60 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 Ddsp_cmx.c161 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 Ddsp_core.c210 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 Ddsp.h105 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 Djz4740-i2s.c135 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 Ddvo_ns2501.c206 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 Dstreamline_config.pl104 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 DMakefile30 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 Dconf.c20 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 Disph3a_af.c31 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 Disph3a_aewb.c30 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 Disphist.c37 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 Dtc74.c116 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 Dds1621.c130 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 Dds620.c81 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 Dlm77.c255 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 Dad7414.c184 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 Dlm73.c240 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 Dgl520sm.c844 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 Dlm92.c272 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 Dlm75.c365 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 DMakefile11 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 DMakefile22 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 Dacx.c186 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 Ddebugfs.c148 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 Dps.c100 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 Dinit.c482 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 Devent.c178 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 Dmain.c117 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 Dvport-vxlan.c65 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 Dtegra30_ahub.c687 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 Dtegra30_ahub.h500 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 Dhysdn_procconf.c3 * 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 Dhysdn_defs.h82 #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 Dti-bandgap.c87 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 Dti-bandgap.h226 * @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 Dsetup_tx3927.c34 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 Dsetup.c185 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 Dpinctrl-st.c127 #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 Dpinctrl-at91-pio4.c381 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 Dpinctrl-lantiq.h30 #define LTQ_PINCONF_UNPACK_PARAM(conf) ((conf) >> 16)
31 #define LTQ_PINCONF_UNPACK_ARG(conf) ((conf) & 0xffff)
H A Dpinctrl-single.c111 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 Dpinctrl-coh901.c548 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 Dpinctrl-at91.c105 * @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 DMakefile97 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 Dmain_usb.c652 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 Dpower.c132 struct ieee80211_conf *conf = &hw->conf; vnt_next_tbtt_wakeup() local
135 if (conf->listen_interval > 1) { vnt_next_tbtt_wakeup()
H A Ddpc.c100 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 Dkey.c124 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 Dint.c153 priv->hw->conf.flags & IEEE80211_CONF_PS) { vnt_int_process_data()
156 priv->hw->conf.listen_interval; vnt_int_process_data()
H A Dwcmd.c139 priv->hw->conf.chandef.chan->hw_value); vnt_run_command()
/linux-4.4.14/drivers/ide/
H A Dit821x.c118 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 Dvvp_object.c123 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 Dda9055-regulator.c73 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 Dch7006_drv.c251 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 Dsetup.c76 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 Dpower.c157 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 Ddpc.c68 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 Ddevice_main.c913 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 Dkey.c116 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 Dgf119.c133 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 Ddport.c42 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 Dnv50.c344 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 Dmdp4_lvds_pll.c41 } 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 Dfmn.c45 #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 Dad7793.c159 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 Dmax1363.c97 * @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 Dexynos_hdmi.c140 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 Dad525x_dpot.h18 #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 Dhdm_usb.c101 * @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 Dad7192.c143 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 Dmain.c38 #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 Dacx.c259 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 Ddebugfs.c214 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 Dwl18xx.h25 #include "conf.h"
52 struct wl18xx_priv_conf conf; member in struct:wl18xx_priv
/linux-4.4.14/drivers/iio/accel/
H A Dmma9553.c189 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 Dvideobuf2-dma-sg.c105 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 Dvideobuf2-dma-contig.c142 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 Dmax2820.c93 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 Drtl8225se.h56 struct ieee80211_conf *conf);
H A Dgrf5101.c81 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 Dsa2400.c104 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 Dbfin_dma.c408 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 Dtvnv17.c148 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 Dgpio.c134 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 Ddcb.c142 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 Drsi_91x_pkt.c85 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 Drsi_91x_mgmt.c312 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 Dcn68xx_device.c90 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 Drequest_manager.c75 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 Docteon_device.c507 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 Dcn66xx_device.c196 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 Dcn66xx_device.h44 struct octeon_config *conf; member in struct:octeon_cn6xxx
/linux-4.4.14/net/wireless/
H A Dmesh.c99 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 Dtrace.h73 __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 Dhysdn_if.h27 #define ERR_CONF_LONG 1009 /* conf line is too long */
H A Dlightnvm.h94 struct nvm_ioctl_create_conf conf; member in struct:nvm_ioctl_create
/linux-4.4.14/drivers/net/wireless/ath/carl9170/
H A Dmac.c48 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 Dmdfld_device.c199 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 Doaktrail_crtc.c269 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 Dmdfld_intel_display.c73 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 Dgma_display.c254 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 Dnouveau_bios.c145 * 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 Dlov_object.c59 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 Dmain.c603 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 Dgen.c147 #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 Dsta.c331 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 Dvxlan.c2770 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 Dwcn36xx.h87 #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 Dssl.c68 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 Dtest.c157 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 Dtest.c157 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 Dmain.c412 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 Dwl12xx.h25 #include "conf.h"
77 struct wl12xx_priv_conf conf; member in struct:wl12xx_priv
H A Dscan.c32 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 Dcmd.h26 #include "conf.h"
/linux-4.4.14/firmware/av7110/
H A DBoot.S49 .word conf
51 conf: .word 0xa5a55a5a label
/linux-4.4.14/drivers/tty/serial/
H A Dmsm_serial.c135 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 Dmax3100.c13 * 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 Dmac80211-ops.c198 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 Dmx3_camera.c467 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 Dctatc.c463 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 Dnote.S25 * like /lib/i686/tls/nosegneg. Note that an /etc/ld.so.conf.d/file
/linux-4.4.14/arch/sh/include/asm/
H A Dtlb_64.h67 #define sh64_setup_tlb_slot(conf, virt, asid, phys) do { } while (0)
/linux-4.4.14/drivers/watchdog/
H A Dvia_wdt.c161 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 Dhdmiphy_drv.c180 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 Dsmsc-ircc2.c122 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 Drxon.c83 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 Drs.c1261 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 Dpower.c292 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 Dpinctrl-atlas7.c4992 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 Dcg6.c614 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 Dsti_hdmi.c213 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 Dpcd.c713 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 Dsetlocalversion143 if test -e include/config/auto.conf; then
144 . include/config/auto.conf
/linux-4.4.14/drivers/gpu/drm/msm/hdmi/
H A Dhdmi_phy_8960.c51 } 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 DMakefile113 # 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 Dlu_object.c198 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 Dfixdep.c227 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 Dnfs4state.c2350 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 Djz4740_mmc.c276 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 Dmac80211_if.c526 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 Dhash_core.c125 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 DMakefile543 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 Dcore.c382 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 Ddlci.c202 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 Dtusb6010.c225 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 Dspi-ep93xx.c437 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 Dd3.c1517 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()

Completed in 6263 milliseconds

123