@@ -79,17 +79,13 @@ static void intel_vsec_remove_aux(void *data)
7979 auxiliary_device_uninit (data );
8080}
8181
82- static DEFINE_MUTEX (vsec_ida_lock );
83-
8482static void intel_vsec_dev_release (struct device * dev )
8583{
8684 struct intel_vsec_device * intel_vsec_dev = dev_to_ivdev (dev );
8785
8886 xa_erase (& auxdev_array , intel_vsec_dev -> id );
8987
90- mutex_lock (& vsec_ida_lock );
9188 ida_free (intel_vsec_dev -> ida , intel_vsec_dev -> auxdev .id );
92- mutex_unlock (& vsec_ida_lock );
9389
9490 kfree (intel_vsec_dev -> resource );
9591 kfree (intel_vsec_dev );
@@ -113,9 +109,7 @@ int intel_vsec_add_aux(struct pci_dev *pdev, struct device *parent,
113109 return ret ;
114110 }
115111
116- mutex_lock (& vsec_ida_lock );
117112 id = ida_alloc (intel_vsec_dev -> ida , GFP_KERNEL );
118- mutex_unlock (& vsec_ida_lock );
119113 if (id < 0 ) {
120114 xa_erase (& auxdev_array , intel_vsec_dev -> id );
121115 kfree (intel_vsec_dev -> resource );
@@ -410,6 +404,11 @@ static const struct intel_vsec_platform_info oobmsm_info = {
410404 .caps = VSEC_CAP_TELEMETRY | VSEC_CAP_SDSI | VSEC_CAP_TPMI ,
411405};
412406
407+ /* DMR OOBMSM info */
408+ static const struct intel_vsec_platform_info dmr_oobmsm_info = {
409+ .caps = VSEC_CAP_TELEMETRY | VSEC_CAP_TPMI ,
410+ };
411+
413412/* TGL info */
414413static const struct intel_vsec_platform_info tgl_info = {
415414 .caps = VSEC_CAP_TELEMETRY ,
@@ -426,18 +425,22 @@ static const struct intel_vsec_platform_info lnl_info = {
426425#define PCI_DEVICE_ID_INTEL_VSEC_MTL_M 0x7d0d
427426#define PCI_DEVICE_ID_INTEL_VSEC_MTL_S 0xad0d
428427#define PCI_DEVICE_ID_INTEL_VSEC_OOBMSM 0x09a7
428+ #define PCI_DEVICE_ID_INTEL_VSEC_OOBMSM_DMR 0x09a1
429429#define PCI_DEVICE_ID_INTEL_VSEC_RPL 0xa77d
430430#define PCI_DEVICE_ID_INTEL_VSEC_TGL 0x9a0d
431431#define PCI_DEVICE_ID_INTEL_VSEC_LNL_M 0x647d
432+ #define PCI_DEVICE_ID_INTEL_VSEC_PTL 0xb07d
432433static const struct pci_device_id intel_vsec_pci_ids [] = {
433434 { PCI_DEVICE_DATA (INTEL , VSEC_ADL , & tgl_info ) },
434435 { PCI_DEVICE_DATA (INTEL , VSEC_DG1 , & dg1_info ) },
435436 { PCI_DEVICE_DATA (INTEL , VSEC_MTL_M , & mtl_info ) },
436437 { PCI_DEVICE_DATA (INTEL , VSEC_MTL_S , & mtl_info ) },
437438 { PCI_DEVICE_DATA (INTEL , VSEC_OOBMSM , & oobmsm_info ) },
439+ { PCI_DEVICE_DATA (INTEL , VSEC_OOBMSM_DMR , & dmr_oobmsm_info ) },
438440 { PCI_DEVICE_DATA (INTEL , VSEC_RPL , & tgl_info ) },
439441 { PCI_DEVICE_DATA (INTEL , VSEC_TGL , & tgl_info ) },
440442 { PCI_DEVICE_DATA (INTEL , VSEC_LNL_M , & lnl_info ) },
443+ { PCI_DEVICE_DATA (INTEL , VSEC_PTL , & mtl_info ) },
441444 { }
442445};
443446MODULE_DEVICE_TABLE (pci , intel_vsec_pci_ids );
0 commit comments