apicd              91 arch/x86/kernel/apic/vector.c 	struct apic_chip_data *apicd = apic_chip_data(irqd);
apicd              93 arch/x86/kernel/apic/vector.c 	return apicd ? &apicd->hw_irq_cfg : NULL;
apicd             104 arch/x86/kernel/apic/vector.c 	struct apic_chip_data *apicd;
apicd             106 arch/x86/kernel/apic/vector.c 	apicd = kzalloc_node(sizeof(*apicd), GFP_KERNEL, node);
apicd             107 arch/x86/kernel/apic/vector.c 	if (apicd)
apicd             108 arch/x86/kernel/apic/vector.c 		INIT_HLIST_NODE(&apicd->clist);
apicd             109 arch/x86/kernel/apic/vector.c 	return apicd;
apicd             112 arch/x86/kernel/apic/vector.c static void free_apic_chip_data(struct apic_chip_data *apicd)
apicd             114 arch/x86/kernel/apic/vector.c 	kfree(apicd);
apicd             120 arch/x86/kernel/apic/vector.c 	struct apic_chip_data *apicd = apic_chip_data(irqd);
apicd             124 arch/x86/kernel/apic/vector.c 	apicd->hw_irq_cfg.vector = vector;
apicd             125 arch/x86/kernel/apic/vector.c 	apicd->hw_irq_cfg.dest_apicid = apic->calc_dest_apicid(cpu);
apicd             128 arch/x86/kernel/apic/vector.c 			    apicd->hw_irq_cfg.dest_apicid);
apicd             134 arch/x86/kernel/apic/vector.c 	struct apic_chip_data *apicd = apic_chip_data(irqd);
apicd             140 arch/x86/kernel/apic/vector.c 	trace_vector_update(irqd->irq, newvec, newcpu, apicd->vector,
apicd             141 arch/x86/kernel/apic/vector.c 			    apicd->cpu);
apicd             149 arch/x86/kernel/apic/vector.c 	apicd->prev_vector = 0;
apicd             150 arch/x86/kernel/apic/vector.c 	if (!apicd->vector || apicd->vector == MANAGED_IRQ_SHUTDOWN_VECTOR)
apicd             160 arch/x86/kernel/apic/vector.c 	if (cpu_online(apicd->cpu)) {
apicd             161 arch/x86/kernel/apic/vector.c 		apicd->move_in_progress = true;
apicd             162 arch/x86/kernel/apic/vector.c 		apicd->prev_vector = apicd->vector;
apicd             163 arch/x86/kernel/apic/vector.c 		apicd->prev_cpu = apicd->cpu;
apicd             165 arch/x86/kernel/apic/vector.c 		irq_matrix_free(vector_matrix, apicd->cpu, apicd->vector,
apicd             170 arch/x86/kernel/apic/vector.c 	apicd->vector = newvec;
apicd             171 arch/x86/kernel/apic/vector.c 	apicd->cpu = newcpu;
apicd             186 arch/x86/kernel/apic/vector.c 	struct apic_chip_data *apicd = apic_chip_data(irqd);
apicd             191 arch/x86/kernel/apic/vector.c 	apicd->is_managed = true;
apicd             200 arch/x86/kernel/apic/vector.c 	struct apic_chip_data *apicd = apic_chip_data(irqd);
apicd             203 arch/x86/kernel/apic/vector.c 	apicd->can_reserve = true;
apicd             204 arch/x86/kernel/apic/vector.c 	apicd->has_reserved = true;
apicd             223 arch/x86/kernel/apic/vector.c 	struct apic_chip_data *apicd = apic_chip_data(irqd);
apicd             224 arch/x86/kernel/apic/vector.c 	bool resvd = apicd->has_reserved;
apicd             225 arch/x86/kernel/apic/vector.c 	unsigned int cpu = apicd->cpu;
apicd             226 arch/x86/kernel/apic/vector.c 	int vector = apicd->vector;
apicd             244 arch/x86/kernel/apic/vector.c 	if (apicd->move_in_progress || !hlist_unhashed(&apicd->clist))
apicd             311 arch/x86/kernel/apic/vector.c 	struct apic_chip_data *apicd = apic_chip_data(irqd);
apicd             317 arch/x86/kernel/apic/vector.c 	if (apicd->vector && cpumask_test_cpu(apicd->cpu, vector_searchmask))
apicd             331 arch/x86/kernel/apic/vector.c 	struct apic_chip_data *apicd = apic_chip_data(irqd);
apicd             333 arch/x86/kernel/apic/vector.c 	unsigned int vector = apicd->vector;
apicd             340 arch/x86/kernel/apic/vector.c 	trace_vector_clear(irqd->irq, vector, apicd->cpu, apicd->prev_vector,
apicd             341 arch/x86/kernel/apic/vector.c 			   apicd->prev_cpu);
apicd             343 arch/x86/kernel/apic/vector.c 	per_cpu(vector_irq, apicd->cpu)[vector] = VECTOR_SHUTDOWN;
apicd             344 arch/x86/kernel/apic/vector.c 	irq_matrix_free(vector_matrix, apicd->cpu, vector, managed);
apicd             345 arch/x86/kernel/apic/vector.c 	apicd->vector = 0;
apicd             348 arch/x86/kernel/apic/vector.c 	vector = apicd->prev_vector;
apicd             352 arch/x86/kernel/apic/vector.c 	per_cpu(vector_irq, apicd->prev_cpu)[vector] = VECTOR_SHUTDOWN;
apicd             353 arch/x86/kernel/apic/vector.c 	irq_matrix_free(vector_matrix, apicd->prev_cpu, vector, managed);
apicd             354 arch/x86/kernel/apic/vector.c 	apicd->prev_vector = 0;
apicd             355 arch/x86/kernel/apic/vector.c 	apicd->move_in_progress = 0;
apicd             356 arch/x86/kernel/apic/vector.c 	hlist_del_init(&apicd->clist);
apicd             361 arch/x86/kernel/apic/vector.c 	struct apic_chip_data *apicd = apic_chip_data(irqd);
apicd             364 arch/x86/kernel/apic/vector.c 	trace_vector_deactivate(irqd->irq, apicd->is_managed,
apicd             365 arch/x86/kernel/apic/vector.c 				apicd->can_reserve, false);
apicd             368 arch/x86/kernel/apic/vector.c 	if (!apicd->is_managed && !apicd->can_reserve)
apicd             371 arch/x86/kernel/apic/vector.c 	if (apicd->has_reserved)
apicd             376 arch/x86/kernel/apic/vector.c 	if (apicd->can_reserve)
apicd             385 arch/x86/kernel/apic/vector.c 	struct apic_chip_data *apicd = apic_chip_data(irqd);
apicd             390 arch/x86/kernel/apic/vector.c 		apicd->has_reserved = false;
apicd             399 arch/x86/kernel/apic/vector.c 			apicd->can_reserve = false;
apicd             442 arch/x86/kernel/apic/vector.c 	struct apic_chip_data *apicd = apic_chip_data(irqd);
apicd             446 arch/x86/kernel/apic/vector.c 	trace_vector_activate(irqd->irq, apicd->is_managed,
apicd             447 arch/x86/kernel/apic/vector.c 			      apicd->can_reserve, reserve);
apicd             450 arch/x86/kernel/apic/vector.c 	if (!apicd->can_reserve && !apicd->is_managed)
apicd             456 arch/x86/kernel/apic/vector.c 	else if (apicd->is_managed)
apicd             458 arch/x86/kernel/apic/vector.c 	else if (apicd->has_reserved)
apicd             467 arch/x86/kernel/apic/vector.c 	struct apic_chip_data *apicd = apic_chip_data(irqd);
apicd             469 arch/x86/kernel/apic/vector.c 	trace_vector_teardown(irqd->irq, apicd->is_managed,
apicd             470 arch/x86/kernel/apic/vector.c 			      apicd->has_reserved);
apicd             472 arch/x86/kernel/apic/vector.c 	if (apicd->has_reserved)
apicd             474 arch/x86/kernel/apic/vector.c 	if (apicd->is_managed)
apicd             481 arch/x86/kernel/apic/vector.c 	struct apic_chip_data *apicd;
apicd             492 arch/x86/kernel/apic/vector.c 			apicd = irqd->chip_data;
apicd             495 arch/x86/kernel/apic/vector.c 			free_apic_chip_data(apicd);
apicd             501 arch/x86/kernel/apic/vector.c 				    struct apic_chip_data *apicd)
apicd             506 arch/x86/kernel/apic/vector.c 	apicd->vector = ISA_IRQ_VECTOR(virq);
apicd             507 arch/x86/kernel/apic/vector.c 	apicd->cpu = 0;
apicd             516 arch/x86/kernel/apic/vector.c 		apic_update_irq_cfg(irqd, apicd->vector, apicd->cpu);
apicd             519 arch/x86/kernel/apic/vector.c 		apicd->can_reserve = true;
apicd             532 arch/x86/kernel/apic/vector.c 	struct apic_chip_data *apicd;
apicd             548 arch/x86/kernel/apic/vector.c 		apicd = alloc_apic_chip_data(node);
apicd             549 arch/x86/kernel/apic/vector.c 		if (!apicd) {
apicd             554 arch/x86/kernel/apic/vector.c 		apicd->irq = virq + i;
apicd             556 arch/x86/kernel/apic/vector.c 		irqd->chip_data = apicd;
apicd             567 arch/x86/kernel/apic/vector.c 			if (!vector_configure_legacy(virq + i, irqd, apicd))
apicd             575 arch/x86/kernel/apic/vector.c 			free_apic_chip_data(apicd);
apicd             591 arch/x86/kernel/apic/vector.c 	struct apic_chip_data apicd;
apicd             613 arch/x86/kernel/apic/vector.c 	memcpy(&apicd, irqd->chip_data, sizeof(apicd));
apicd             616 arch/x86/kernel/apic/vector.c 	seq_printf(m, "%*sVector: %5u\n", ind, "", apicd.vector);
apicd             617 arch/x86/kernel/apic/vector.c 	seq_printf(m, "%*sTarget: %5u\n", ind, "", apicd.cpu);
apicd             618 arch/x86/kernel/apic/vector.c 	if (apicd.prev_vector) {
apicd             619 arch/x86/kernel/apic/vector.c 		seq_printf(m, "%*sPrevious vector: %5u\n", ind, "", apicd.prev_vector);
apicd             620 arch/x86/kernel/apic/vector.c 		seq_printf(m, "%*sPrevious target: %5u\n", ind, "", apicd.prev_cpu);
apicd             622 arch/x86/kernel/apic/vector.c 	seq_printf(m, "%*smove_in_progress: %u\n", ind, "", apicd.move_in_progress ? 1 : 0);
apicd             623 arch/x86/kernel/apic/vector.c 	seq_printf(m, "%*sis_managed:       %u\n", ind, "", apicd.is_managed ? 1 : 0);
apicd             624 arch/x86/kernel/apic/vector.c 	seq_printf(m, "%*scan_reserve:      %u\n", ind, "", apicd.can_reserve ? 1 : 0);
apicd             625 arch/x86/kernel/apic/vector.c 	seq_printf(m, "%*shas_reserved:     %u\n", ind, "", apicd.has_reserved ? 1 : 0);
apicd             626 arch/x86/kernel/apic/vector.c 	seq_printf(m, "%*scleanup_pending:  %u\n", ind, "", !hlist_unhashed(&apicd.clist));
apicd             772 arch/x86/kernel/apic/vector.c 	struct apic_chip_data *apicd = apic_chip_data(irqd);
apicd             784 arch/x86/kernel/apic/vector.c 	    (apicd->is_managed || apicd->can_reserve))
apicd             803 arch/x86/kernel/apic/vector.c 	struct apic_chip_data *apicd = apic_chip_data(irqd);
apicd             807 arch/x86/kernel/apic/vector.c 	apic->send_IPI(apicd->cpu, apicd->vector);
apicd             834 arch/x86/kernel/apic/vector.c static void free_moved_vector(struct apic_chip_data *apicd)
apicd             836 arch/x86/kernel/apic/vector.c 	unsigned int vector = apicd->prev_vector;
apicd             837 arch/x86/kernel/apic/vector.c 	unsigned int cpu = apicd->prev_cpu;
apicd             838 arch/x86/kernel/apic/vector.c 	bool managed = apicd->is_managed;
apicd             848 arch/x86/kernel/apic/vector.c 	trace_vector_free_moved(apicd->irq, cpu, vector, managed);
apicd             851 arch/x86/kernel/apic/vector.c 	hlist_del_init(&apicd->clist);
apicd             852 arch/x86/kernel/apic/vector.c 	apicd->prev_vector = 0;
apicd             853 arch/x86/kernel/apic/vector.c 	apicd->move_in_progress = 0;
apicd             859 arch/x86/kernel/apic/vector.c 	struct apic_chip_data *apicd;
apicd             866 arch/x86/kernel/apic/vector.c 	hlist_for_each_entry_safe(apicd, tmp, clhead, clist) {
apicd             867 arch/x86/kernel/apic/vector.c 		unsigned int irr, vector = apicd->prev_vector;
apicd             883 arch/x86/kernel/apic/vector.c 		free_moved_vector(apicd);
apicd             890 arch/x86/kernel/apic/vector.c static void __send_cleanup_vector(struct apic_chip_data *apicd)
apicd             895 arch/x86/kernel/apic/vector.c 	apicd->move_in_progress = 0;
apicd             896 arch/x86/kernel/apic/vector.c 	cpu = apicd->prev_cpu;
apicd             898 arch/x86/kernel/apic/vector.c 		hlist_add_head(&apicd->clist, per_cpu_ptr(&cleanup_list, cpu));
apicd             901 arch/x86/kernel/apic/vector.c 		apicd->prev_vector = 0;
apicd             908 arch/x86/kernel/apic/vector.c 	struct apic_chip_data *apicd;
apicd             910 arch/x86/kernel/apic/vector.c 	apicd = container_of(cfg, struct apic_chip_data, hw_irq_cfg);
apicd             911 arch/x86/kernel/apic/vector.c 	if (apicd->move_in_progress)
apicd             912 arch/x86/kernel/apic/vector.c 		__send_cleanup_vector(apicd);
apicd             917 arch/x86/kernel/apic/vector.c 	struct apic_chip_data *apicd;
apicd             919 arch/x86/kernel/apic/vector.c 	apicd = container_of(cfg, struct apic_chip_data, hw_irq_cfg);
apicd             920 arch/x86/kernel/apic/vector.c 	if (likely(!apicd->move_in_progress))
apicd             923 arch/x86/kernel/apic/vector.c 	if (vector == apicd->vector && apicd->cpu == smp_processor_id())
apicd             924 arch/x86/kernel/apic/vector.c 		__send_cleanup_vector(apicd);
apicd             937 arch/x86/kernel/apic/vector.c 	struct apic_chip_data *apicd;
apicd             956 arch/x86/kernel/apic/vector.c 	apicd = apic_chip_data(irqd);
apicd             957 arch/x86/kernel/apic/vector.c 	if (!apicd)
apicd             963 arch/x86/kernel/apic/vector.c 	vector = apicd->prev_vector;
apicd             982 arch/x86/kernel/apic/vector.c 	if (apicd->move_in_progress) {
apicd            1018 arch/x86/kernel/apic/vector.c 	free_moved_vector(apicd);