Merge tag 's390-5.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
Pull s390 updates from Martin Schwidefsky: - A copy of Arnds compat wrapper generation series - Pass information about the KVM guest to the host in form the control program code and the control program version code - Map IOV resources to support PCI physical functions on s390 - Add vector load and store alignment hints to improve performance - Use the "jdd" constraint with gcc 9 to make jump labels working again - Remove amode workaround for old z/VM releases from the DCSS code - Add support for in-kernel performance measurements using the CPU measurement counter facility - Introduce a new PMU device cpum_cf_diag to capture counters and store thenn as event raw data. - Bug fixes and cleanups * tag 's390-5.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (54 commits) Revert "s390/cpum_cf: Add kernel message exaplanations" s390/dasd: fix read device characteristic with CONFIG_VMAP_STACK=y s390/suspend: fix prefix register reset in swsusp_arch_resume s390: warn about clearing als implied facilities s390: allow overriding facilities via command line s390: clean up redundant facilities list setup s390/als: remove duplicated in-place implementation of stfle s390/cio: Use cpa range elsewhere within vfio-ccw s390/cio: Fix vfio-ccw handling of recursive TICs s390: vfio_ap: link the vfio_ap devices to the vfio_ap bus subsystem s390/cpum_cf: Handle EBUSY return code from CPU counter facility reservation s390/cpum_cf: Add kernel message exaplanations s390/cpum_cf_diag: Add support for s390 counter facility diagnostic trace s390/cpum_cf: add ctr_stcctm() function s390/cpum_cf: move common functions into a separate file s390/cpum_cf: introduce kernel_cpumcf_avail() function s390/cpu_mf: replace stcctm5() with the stcctm() function s390/cpu_mf: add store cpu counter multiple instruction support s390/cpum_cf: Add minimal in-kernel interface for counter measurements s390/cpum_cf: introduce kernel_cpumcf_alert() to obtain measurement alerts ...
This commit is contained in:
@@ -1335,6 +1335,16 @@ static int __match_queue_device_with_qid(struct device *dev, void *data)
|
||||
return is_queue_dev(dev) && to_ap_queue(dev)->qid == (int)(long) data;
|
||||
}
|
||||
|
||||
/*
|
||||
* Helper function to be used with bus_find_dev
|
||||
* matches any queue device with given queue id
|
||||
*/
|
||||
static int __match_queue_device_with_queue_id(struct device *dev, void *data)
|
||||
{
|
||||
return is_queue_dev(dev)
|
||||
&& AP_QID_QUEUE(to_ap_queue(dev)->qid) == (int)(long) data;
|
||||
}
|
||||
|
||||
/*
|
||||
* Helper function for ap_scan_bus().
|
||||
* Does the scan bus job for the given adapter id.
|
||||
@@ -1435,8 +1445,13 @@ static void _ap_scan_bus_adapter(int id)
|
||||
borked = aq->state == AP_STATE_BORKED;
|
||||
spin_unlock_bh(&aq->lock);
|
||||
}
|
||||
if (borked) /* Remove broken device */
|
||||
if (borked) {
|
||||
/* Remove broken device */
|
||||
AP_DBF(DBF_DEBUG,
|
||||
"removing broken queue=%02x.%04x\n",
|
||||
id, dom);
|
||||
device_unregister(dev);
|
||||
}
|
||||
put_device(dev);
|
||||
continue;
|
||||
}
|
||||
@@ -1506,7 +1521,7 @@ static void ap_scan_bus(struct work_struct *unused)
|
||||
struct device *dev =
|
||||
bus_find_device(&ap_bus_type, NULL,
|
||||
(void *)(long) ap_domain_index,
|
||||
__match_queue_device_with_qid);
|
||||
__match_queue_device_with_queue_id);
|
||||
if (dev)
|
||||
put_device(dev);
|
||||
else
|
||||
|
Reference in New Issue
Block a user