mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 1/2] drm/intel: Generalize PCI ID macro for subvendor and subid
@ 2026-09-08 20:05 Werner Sembach
  2026-09-08 20:05 ` [PATCH 2/2] drm/intel: Add quirk to disable rc6 on some TUXEDO devices Werner Sembach
  0 siblings, 1 reply; 5+ messages in thread
From: Werner Sembach @ 2026-09-08 20:05 UTC (permalink / raw)
  To: Matthew Brost, Thomas Hellström, Rodrigo Vivi, Jani Nikula,
	Joonas Lahtinen, Tvrtko Ursulin, David Airlie, Simona Vetter
  Cc: Werner Sembach, intel-gfx, intel-xe, dri-devel, linux-kernel

Generalize INTEL_QUANTA_VGA_DEVICE macro by introducing a
INTEL_VGA_DEVICE_SUB macro that takes subvendor and subid in addition to
id.

Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
---
 include/drm/intel/pciids.h | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/include/drm/intel/pciids.h b/include/drm/intel/pciids.h
index dff389b56eb3b..7a4a5658942d2 100644
--- a/include/drm/intel/pciids.h
+++ b/include/drm/intel/pciids.h
@@ -37,9 +37,8 @@
 	.driver_data = (kernel_ulong_t)(_info), \
 }
 
-#define INTEL_QUANTA_VGA_DEVICE(_info) { \
-	.vendor = PCI_VENDOR_ID_INTEL, .device = 0x16a, \
-	.subvendor = 0x152d, .subdevice = 0x8990, \
+#define INTEL_VGA_DEVICE_SUB(_id, _subvend, _subid, _info) { \
+	PCI_DEVICE_SUB(PCI_VENDOR_ID_INTEL, (_id), (_subvend), (_subid)), \
 	.class = PCI_BASE_CLASS_DISPLAY << 16, .class_mask = 0xff << 16, \
 	.driver_data = (kernel_ulong_t)(_info), \
 }
@@ -180,7 +179,7 @@
 	INTEL_IVB_D_IDS(MACRO__, ## __VA_ARGS__)
 
 #define INTEL_IVB_Q_IDS(MACRO__, ...) \
-	INTEL_QUANTA_VGA_DEVICE(__VA_ARGS__) /* Quanta transcode */
+	MACRO__##_SUB(0x016A, 0x152D, 0x8990, ## __VA_ARGS__) /* Quanta transcode */
 
 #define INTEL_HSW_ULT_GT1_IDS(MACRO__, ...) \
 	MACRO__(0x0A02, ## __VA_ARGS__), /* ULT GT1 desktop */ \
-- 
2.43.0


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 2/2] drm/intel: Add quirk to disable rc6 on some TUXEDO devices
  2026-09-08 20:05 [PATCH 1/2] drm/intel: Generalize PCI ID macro for subvendor and subid Werner Sembach
@ 2026-09-08 20:05 ` Werner Sembach
  2026-09-09  6:32   ` Jani Nikula
  0 siblings, 1 reply; 5+ messages in thread
From: Werner Sembach @ 2026-09-08 20:05 UTC (permalink / raw)
  To: Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, Tvrtko Ursulin,
	David Airlie, Simona Vetter, Matthew Brost,
	Thomas Hellström
  Cc: Werner Sembach, intel-gfx, dri-devel, linux-kernel, intel-xe

Some TUXEDO devices have random rare hard resets during video streaming.

Disabling rc6 fixes this. Until the root cause is found this is a pragmatic
workaround.

Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
---
 drivers/gpu/drm/i915/i915_pci.c | 11 +++++++++++
 include/drm/intel/pciids.h      | 22 ++++++++++++++++++++++
 2 files changed, 33 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
index 2f03f95945f1b..a52b56bedcf4f 100644
--- a/drivers/gpu/drm/i915/i915_pci.c
+++ b/drivers/gpu/drm/i915/i915_pci.c
@@ -687,6 +687,16 @@ static const struct intel_device_info adl_p_info = {
 	.dma_mask_size = 39,
 };
 
+static const struct intel_device_info adl_p_tux_ibp8_quirk_info = {
+	GEN12_FEATURES,
+	PLATFORM(INTEL_ALDERLAKE_P),
+	.platform_engine_mask =
+		BIT(RCS0) | BIT(BCS0) | BIT(VECS0) | BIT(VCS0) | BIT(VCS2),
+	.__runtime.ppgtt_size = 48,
+	.dma_mask_size = 39,
+	.has_rc6 = 0,
+};
+
 #undef GEN
 
 #define XE_HP_PAGE_SIZES \
@@ -863,6 +873,7 @@ static const struct pci_device_id pciidlist[] = {
 	INTEL_DG1_IDS(INTEL_VGA_DEVICE, &dg1_info),
 	INTEL_RPLS_IDS(INTEL_VGA_DEVICE, &adl_s_info),
 	INTEL_RPLU_IDS(INTEL_VGA_DEVICE, &adl_p_info),
+	INTEL_RPLP_TUX_IBP8_QUIRK_IDS(INTEL_VGA_DEVICE, &adl_p_tux_ibp8_quirk_info),
 	INTEL_RPLP_IDS(INTEL_VGA_DEVICE, &adl_p_info),
 	INTEL_DG2_IDS(INTEL_VGA_DEVICE, &dg2_info),
 	INTEL_ATS_M_IDS(INTEL_VGA_DEVICE, &ats_m_info),
diff --git a/include/drm/intel/pciids.h b/include/drm/intel/pciids.h
index 7a4a5658942d2..e4f74916a62c2 100644
--- a/include/drm/intel/pciids.h
+++ b/include/drm/intel/pciids.h
@@ -712,6 +712,28 @@
 	MACRO__(0xA7AC, ## __VA_ARGS__), \
 	MACRO__(0xA7AD, ## __VA_ARGS__)
 
+#define INTEL_RPLP_TUX_IBP8_QUIRK_IDS(MACRO__, ...) \
+	MACRO__##_SUB(0xA720, 0x1D05, 0x124A, ## __VA_ARGS__), \
+	MACRO__##_SUB(0xA720, 0x1D05, 0x124C, ## __VA_ARGS__), \
+	MACRO__##_SUB(0xA720, 0x1D05, 0x124E, ## __VA_ARGS__), \
+	MACRO__##_SUB(0xA720, 0x1D05, 0x130F, ## __VA_ARGS__), \
+	MACRO__##_SUB(0xA7A0, 0x1D05, 0x124A, ## __VA_ARGS__), \
+	MACRO__##_SUB(0xA7A0, 0x1D05, 0x124C, ## __VA_ARGS__), \
+	MACRO__##_SUB(0xA7A0, 0x1D05, 0x124E, ## __VA_ARGS__), \
+	MACRO__##_SUB(0xA7A0, 0x1D05, 0x130F, ## __VA_ARGS__), \
+	MACRO__##_SUB(0xA7A8, 0x1D05, 0x124A, ## __VA_ARGS__), \
+	MACRO__##_SUB(0xA7A8, 0x1D05, 0x124C, ## __VA_ARGS__), \
+	MACRO__##_SUB(0xA7A8, 0x1D05, 0x124E, ## __VA_ARGS__), \
+	MACRO__##_SUB(0xA7A8, 0x1D05, 0x130F, ## __VA_ARGS__), \
+	MACRO__##_SUB(0xA7AA, 0x1D05, 0x124A, ## __VA_ARGS__), \
+	MACRO__##_SUB(0xA7AA, 0x1D05, 0x124C, ## __VA_ARGS__), \
+	MACRO__##_SUB(0xA7AA, 0x1D05, 0x124E, ## __VA_ARGS__), \
+	MACRO__##_SUB(0xA7AA, 0x1D05, 0x130F, ## __VA_ARGS__), \
+	MACRO__##_SUB(0xA7AB, 0x1D05, 0x124A, ## __VA_ARGS__), \
+	MACRO__##_SUB(0xA7AB, 0x1D05, 0x124C, ## __VA_ARGS__), \
+	MACRO__##_SUB(0xA7AB, 0x1D05, 0x124E, ## __VA_ARGS__), \
+	MACRO__##_SUB(0xA7AB, 0x1D05, 0x130F, ## __VA_ARGS__)
+
 /* RPL-P */
 #define INTEL_RPLP_IDS(MACRO__, ...) \
 	MACRO__(0xA720, ## __VA_ARGS__), \
-- 
2.43.0


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 2/2] drm/intel: Add quirk to disable rc6 on some TUXEDO devices
  2026-09-08 20:05 ` [PATCH 2/2] drm/intel: Add quirk to disable rc6 on some TUXEDO devices Werner Sembach
@ 2026-09-09  6:32   ` Jani Nikula
  2026-09-09 13:45     ` Werner Sembach
  0 siblings, 1 reply; 5+ messages in thread
From: Jani Nikula @ 2026-09-09  6:32 UTC (permalink / raw)
  To: Werner Sembach, Joonas Lahtinen, Rodrigo Vivi, Tvrtko Ursulin,
	David Airlie, Simona Vetter, Matthew Brost,
	Thomas Hellström
  Cc: Werner Sembach, intel-gfx, dri-devel, linux-kernel, intel-xe

On Tue, 08 Sep 2026, Werner Sembach <wse@tuxedocomputers.com> wrote:
> Some TUXEDO devices have random rare hard resets during video streaming.

Is there a gitlab issue for this?

> Disabling rc6 fixes this. Until the root cause is found this is a pragmatic
> workaround.

The way to do this is to add your own local struct pci_device_id array
somewhere, and use pci_match_id() or similar on it.

We're *not* going to change the high level device info or PCI ID
definitions for this.

Ugly stuff needs to be localized and hidden away.


BR,
Jani.


>
> Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
> ---
>  drivers/gpu/drm/i915/i915_pci.c | 11 +++++++++++
>  include/drm/intel/pciids.h      | 22 ++++++++++++++++++++++
>  2 files changed, 33 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
> index 2f03f95945f1b..a52b56bedcf4f 100644
> --- a/drivers/gpu/drm/i915/i915_pci.c
> +++ b/drivers/gpu/drm/i915/i915_pci.c
> @@ -687,6 +687,16 @@ static const struct intel_device_info adl_p_info = {
>  	.dma_mask_size = 39,
>  };
>  
> +static const struct intel_device_info adl_p_tux_ibp8_quirk_info = {
> +	GEN12_FEATURES,
> +	PLATFORM(INTEL_ALDERLAKE_P),
> +	.platform_engine_mask =
> +		BIT(RCS0) | BIT(BCS0) | BIT(VECS0) | BIT(VCS0) | BIT(VCS2),
> +	.__runtime.ppgtt_size = 48,
> +	.dma_mask_size = 39,
> +	.has_rc6 = 0,
> +};
> +
>  #undef GEN
>  
>  #define XE_HP_PAGE_SIZES \
> @@ -863,6 +873,7 @@ static const struct pci_device_id pciidlist[] = {
>  	INTEL_DG1_IDS(INTEL_VGA_DEVICE, &dg1_info),
>  	INTEL_RPLS_IDS(INTEL_VGA_DEVICE, &adl_s_info),
>  	INTEL_RPLU_IDS(INTEL_VGA_DEVICE, &adl_p_info),
> +	INTEL_RPLP_TUX_IBP8_QUIRK_IDS(INTEL_VGA_DEVICE, &adl_p_tux_ibp8_quirk_info),
>  	INTEL_RPLP_IDS(INTEL_VGA_DEVICE, &adl_p_info),
>  	INTEL_DG2_IDS(INTEL_VGA_DEVICE, &dg2_info),
>  	INTEL_ATS_M_IDS(INTEL_VGA_DEVICE, &ats_m_info),
> diff --git a/include/drm/intel/pciids.h b/include/drm/intel/pciids.h
> index 7a4a5658942d2..e4f74916a62c2 100644
> --- a/include/drm/intel/pciids.h
> +++ b/include/drm/intel/pciids.h
> @@ -712,6 +712,28 @@
>  	MACRO__(0xA7AC, ## __VA_ARGS__), \
>  	MACRO__(0xA7AD, ## __VA_ARGS__)
>  
> +#define INTEL_RPLP_TUX_IBP8_QUIRK_IDS(MACRO__, ...) \
> +	MACRO__##_SUB(0xA720, 0x1D05, 0x124A, ## __VA_ARGS__), \
> +	MACRO__##_SUB(0xA720, 0x1D05, 0x124C, ## __VA_ARGS__), \
> +	MACRO__##_SUB(0xA720, 0x1D05, 0x124E, ## __VA_ARGS__), \
> +	MACRO__##_SUB(0xA720, 0x1D05, 0x130F, ## __VA_ARGS__), \
> +	MACRO__##_SUB(0xA7A0, 0x1D05, 0x124A, ## __VA_ARGS__), \
> +	MACRO__##_SUB(0xA7A0, 0x1D05, 0x124C, ## __VA_ARGS__), \
> +	MACRO__##_SUB(0xA7A0, 0x1D05, 0x124E, ## __VA_ARGS__), \
> +	MACRO__##_SUB(0xA7A0, 0x1D05, 0x130F, ## __VA_ARGS__), \
> +	MACRO__##_SUB(0xA7A8, 0x1D05, 0x124A, ## __VA_ARGS__), \
> +	MACRO__##_SUB(0xA7A8, 0x1D05, 0x124C, ## __VA_ARGS__), \
> +	MACRO__##_SUB(0xA7A8, 0x1D05, 0x124E, ## __VA_ARGS__), \
> +	MACRO__##_SUB(0xA7A8, 0x1D05, 0x130F, ## __VA_ARGS__), \
> +	MACRO__##_SUB(0xA7AA, 0x1D05, 0x124A, ## __VA_ARGS__), \
> +	MACRO__##_SUB(0xA7AA, 0x1D05, 0x124C, ## __VA_ARGS__), \
> +	MACRO__##_SUB(0xA7AA, 0x1D05, 0x124E, ## __VA_ARGS__), \
> +	MACRO__##_SUB(0xA7AA, 0x1D05, 0x130F, ## __VA_ARGS__), \
> +	MACRO__##_SUB(0xA7AB, 0x1D05, 0x124A, ## __VA_ARGS__), \
> +	MACRO__##_SUB(0xA7AB, 0x1D05, 0x124C, ## __VA_ARGS__), \
> +	MACRO__##_SUB(0xA7AB, 0x1D05, 0x124E, ## __VA_ARGS__), \
> +	MACRO__##_SUB(0xA7AB, 0x1D05, 0x130F, ## __VA_ARGS__)
> +
>  /* RPL-P */
>  #define INTEL_RPLP_IDS(MACRO__, ...) \
>  	MACRO__(0xA720, ## __VA_ARGS__), \

-- 
Jani Nikula, Intel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 2/2] drm/intel: Add quirk to disable rc6 on some TUXEDO devices
  2026-09-09  6:32   ` Jani Nikula
@ 2026-09-09 13:45     ` Werner Sembach
  2026-09-09 15:59       ` Werner Sembach
  0 siblings, 1 reply; 5+ messages in thread
From: Werner Sembach @ 2026-09-09 13:45 UTC (permalink / raw)
  To: Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, Tvrtko Ursulin,
	David Airlie, Simona Vetter, Matthew Brost,
	Thomas Hellström
  Cc: intel-gfx, dri-devel, linux-kernel, intel-xe

Hi Jani,

Am 09.09.26 um 08:32 schrieb Jani Nikula:
> On Tue, 08 Sep 2026, Werner Sembach <wse@tuxedocomputers.com> wrote:
>> Some TUXEDO devices have random rare hard resets during video streaming.
> Is there a gitlab issue for this?
Not yet, but I can make one, presumably here? 
https://gitlab.freedesktop.org/drm/i915/kernel/-/work_items?sort=created_date&state=opened&first_page_size=20 

>
>> Disabling rc6 fixes this. Until the root cause is found this is a pragmatic
>> workaround.
> The way to do this is to add your own local struct pci_device_id array
> somewhere, and use pci_match_id() or similar on it.
>
> We're *not* going to change the high level device info or PCI ID
> definitions for this.
OK, can do it in v2, was mislead here by the INTEL_QUANTA_VGA_DEVICE which also 
depends on specific sub-ids so thought it is ok to add also very specific 
entries here.
>
> Ugly stuff needs to be localized and hidden away.

I probably do it somewhere around the where the HAS_RC6 macro is called? Sadly 
that's not a function so can't directly integrate it easily.

Best regards,

Werner

>
>
> BR,
> Jani.
>
>
>> Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
>> ---
>>   drivers/gpu/drm/i915/i915_pci.c | 11 +++++++++++
>>   include/drm/intel/pciids.h      | 22 ++++++++++++++++++++++
>>   2 files changed, 33 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
>> index 2f03f95945f1b..a52b56bedcf4f 100644
>> --- a/drivers/gpu/drm/i915/i915_pci.c
>> +++ b/drivers/gpu/drm/i915/i915_pci.c
>> @@ -687,6 +687,16 @@ static const struct intel_device_info adl_p_info = {
>>   	.dma_mask_size = 39,
>>   };
>>   
>> +static const struct intel_device_info adl_p_tux_ibp8_quirk_info = {
>> +	GEN12_FEATURES,
>> +	PLATFORM(INTEL_ALDERLAKE_P),
>> +	.platform_engine_mask =
>> +		BIT(RCS0) | BIT(BCS0) | BIT(VECS0) | BIT(VCS0) | BIT(VCS2),
>> +	.__runtime.ppgtt_size = 48,
>> +	.dma_mask_size = 39,
>> +	.has_rc6 = 0,
>> +};
>> +
>>   #undef GEN
>>   
>>   #define XE_HP_PAGE_SIZES \
>> @@ -863,6 +873,7 @@ static const struct pci_device_id pciidlist[] = {
>>   	INTEL_DG1_IDS(INTEL_VGA_DEVICE, &dg1_info),
>>   	INTEL_RPLS_IDS(INTEL_VGA_DEVICE, &adl_s_info),
>>   	INTEL_RPLU_IDS(INTEL_VGA_DEVICE, &adl_p_info),
>> +	INTEL_RPLP_TUX_IBP8_QUIRK_IDS(INTEL_VGA_DEVICE, &adl_p_tux_ibp8_quirk_info),
>>   	INTEL_RPLP_IDS(INTEL_VGA_DEVICE, &adl_p_info),
>>   	INTEL_DG2_IDS(INTEL_VGA_DEVICE, &dg2_info),
>>   	INTEL_ATS_M_IDS(INTEL_VGA_DEVICE, &ats_m_info),
>> diff --git a/include/drm/intel/pciids.h b/include/drm/intel/pciids.h
>> index 7a4a5658942d2..e4f74916a62c2 100644
>> --- a/include/drm/intel/pciids.h
>> +++ b/include/drm/intel/pciids.h
>> @@ -712,6 +712,28 @@
>>   	MACRO__(0xA7AC, ## __VA_ARGS__), \
>>   	MACRO__(0xA7AD, ## __VA_ARGS__)
>>   
>> +#define INTEL_RPLP_TUX_IBP8_QUIRK_IDS(MACRO__, ...) \
>> +	MACRO__##_SUB(0xA720, 0x1D05, 0x124A, ## __VA_ARGS__), \
>> +	MACRO__##_SUB(0xA720, 0x1D05, 0x124C, ## __VA_ARGS__), \
>> +	MACRO__##_SUB(0xA720, 0x1D05, 0x124E, ## __VA_ARGS__), \
>> +	MACRO__##_SUB(0xA720, 0x1D05, 0x130F, ## __VA_ARGS__), \
>> +	MACRO__##_SUB(0xA7A0, 0x1D05, 0x124A, ## __VA_ARGS__), \
>> +	MACRO__##_SUB(0xA7A0, 0x1D05, 0x124C, ## __VA_ARGS__), \
>> +	MACRO__##_SUB(0xA7A0, 0x1D05, 0x124E, ## __VA_ARGS__), \
>> +	MACRO__##_SUB(0xA7A0, 0x1D05, 0x130F, ## __VA_ARGS__), \
>> +	MACRO__##_SUB(0xA7A8, 0x1D05, 0x124A, ## __VA_ARGS__), \
>> +	MACRO__##_SUB(0xA7A8, 0x1D05, 0x124C, ## __VA_ARGS__), \
>> +	MACRO__##_SUB(0xA7A8, 0x1D05, 0x124E, ## __VA_ARGS__), \
>> +	MACRO__##_SUB(0xA7A8, 0x1D05, 0x130F, ## __VA_ARGS__), \
>> +	MACRO__##_SUB(0xA7AA, 0x1D05, 0x124A, ## __VA_ARGS__), \
>> +	MACRO__##_SUB(0xA7AA, 0x1D05, 0x124C, ## __VA_ARGS__), \
>> +	MACRO__##_SUB(0xA7AA, 0x1D05, 0x124E, ## __VA_ARGS__), \
>> +	MACRO__##_SUB(0xA7AA, 0x1D05, 0x130F, ## __VA_ARGS__), \
>> +	MACRO__##_SUB(0xA7AB, 0x1D05, 0x124A, ## __VA_ARGS__), \
>> +	MACRO__##_SUB(0xA7AB, 0x1D05, 0x124C, ## __VA_ARGS__), \
>> +	MACRO__##_SUB(0xA7AB, 0x1D05, 0x124E, ## __VA_ARGS__), \
>> +	MACRO__##_SUB(0xA7AB, 0x1D05, 0x130F, ## __VA_ARGS__)
>> +
>>   /* RPL-P */
>>   #define INTEL_RPLP_IDS(MACRO__, ...) \
>>   	MACRO__(0xA720, ## __VA_ARGS__), \

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 2/2] drm/intel: Add quirk to disable rc6 on some TUXEDO devices
  2026-09-09 13:45     ` Werner Sembach
@ 2026-09-09 15:59       ` Werner Sembach
  0 siblings, 0 replies; 5+ messages in thread
From: Werner Sembach @ 2026-09-09 15:59 UTC (permalink / raw)
  To: Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, Tvrtko Ursulin,
	David Airlie, Simona Vetter, Matthew Brost,
	Thomas Hellström
  Cc: intel-gfx, dri-devel, linux-kernel, intel-xe


Am 09.09.26 um 15:45 schrieb Werner Sembach:
> Hi Jani,
>
> Am 09.09.26 um 08:32 schrieb Jani Nikula:
>> On Tue, 08 Sep 2026, Werner Sembach <wse@tuxedocomputers.com> wrote:
>>> Some TUXEDO devices have random rare hard resets during video streaming.
>> Is there a gitlab issue for this?
> Not yet, but I can make one, presumably here? 
> https://gitlab.freedesktop.org/drm/i915/kernel/-/work_items?sort=created_date&state=opened&first_page_size=20 
>
Now there is one: https://gitlab.freedesktop.org/drm/i915/kernel/-/work_items/17013
>>
>>> Disabling rc6 fixes this. Until the root cause is found this is a pragmatic
>>> workaround.
>> The way to do this is to add your own local struct pci_device_id array
>> somewhere, and use pci_match_id() or similar on it.
>>
>> We're *not* going to change the high level device info or PCI ID
>> definitions for this.
> OK, can do it in v2, was mislead here by the INTEL_QUANTA_VGA_DEVICE which 
> also depends on specific sub-ids so thought it is ok to add also very specific 
> entries here.
>>
>> Ugly stuff needs to be localized and hidden away.
>
> I probably do it somewhere around the where the HAS_RC6 macro is called? Sadly 
> that's not a function so can't directly integrate it easily.
>
> Best regards,
>
> Werner
>
>>
>>
>> BR,
>> Jani.
>>
>>
>>> Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
>>> ---
>>>   drivers/gpu/drm/i915/i915_pci.c | 11 +++++++++++
>>>   include/drm/intel/pciids.h      | 22 ++++++++++++++++++++++
>>>   2 files changed, 33 insertions(+)
>>>
>>> diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
>>> index 2f03f95945f1b..a52b56bedcf4f 100644
>>> --- a/drivers/gpu/drm/i915/i915_pci.c
>>> +++ b/drivers/gpu/drm/i915/i915_pci.c
>>> @@ -687,6 +687,16 @@ static const struct intel_device_info adl_p_info = {
>>>       .dma_mask_size = 39,
>>>   };
>>>   +static const struct intel_device_info adl_p_tux_ibp8_quirk_info = {
>>> +    GEN12_FEATURES,
>>> +    PLATFORM(INTEL_ALDERLAKE_P),
>>> +    .platform_engine_mask =
>>> +        BIT(RCS0) | BIT(BCS0) | BIT(VECS0) | BIT(VCS0) | BIT(VCS2),
>>> +    .__runtime.ppgtt_size = 48,
>>> +    .dma_mask_size = 39,
>>> +    .has_rc6 = 0,
>>> +};
>>> +
>>>   #undef GEN
>>>     #define XE_HP_PAGE_SIZES \
>>> @@ -863,6 +873,7 @@ static const struct pci_device_id pciidlist[] = {
>>>       INTEL_DG1_IDS(INTEL_VGA_DEVICE, &dg1_info),
>>>       INTEL_RPLS_IDS(INTEL_VGA_DEVICE, &adl_s_info),
>>>       INTEL_RPLU_IDS(INTEL_VGA_DEVICE, &adl_p_info),
>>> +    INTEL_RPLP_TUX_IBP8_QUIRK_IDS(INTEL_VGA_DEVICE, 
>>> &adl_p_tux_ibp8_quirk_info),
>>>       INTEL_RPLP_IDS(INTEL_VGA_DEVICE, &adl_p_info),
>>>       INTEL_DG2_IDS(INTEL_VGA_DEVICE, &dg2_info),
>>>       INTEL_ATS_M_IDS(INTEL_VGA_DEVICE, &ats_m_info),
>>> diff --git a/include/drm/intel/pciids.h b/include/drm/intel/pciids.h
>>> index 7a4a5658942d2..e4f74916a62c2 100644
>>> --- a/include/drm/intel/pciids.h
>>> +++ b/include/drm/intel/pciids.h
>>> @@ -712,6 +712,28 @@
>>>       MACRO__(0xA7AC, ## __VA_ARGS__), \
>>>       MACRO__(0xA7AD, ## __VA_ARGS__)
>>>   +#define INTEL_RPLP_TUX_IBP8_QUIRK_IDS(MACRO__, ...) \
>>> +    MACRO__##_SUB(0xA720, 0x1D05, 0x124A, ## __VA_ARGS__), \
>>> +    MACRO__##_SUB(0xA720, 0x1D05, 0x124C, ## __VA_ARGS__), \
>>> +    MACRO__##_SUB(0xA720, 0x1D05, 0x124E, ## __VA_ARGS__), \
>>> +    MACRO__##_SUB(0xA720, 0x1D05, 0x130F, ## __VA_ARGS__), \
>>> +    MACRO__##_SUB(0xA7A0, 0x1D05, 0x124A, ## __VA_ARGS__), \
>>> +    MACRO__##_SUB(0xA7A0, 0x1D05, 0x124C, ## __VA_ARGS__), \
>>> +    MACRO__##_SUB(0xA7A0, 0x1D05, 0x124E, ## __VA_ARGS__), \
>>> +    MACRO__##_SUB(0xA7A0, 0x1D05, 0x130F, ## __VA_ARGS__), \
>>> +    MACRO__##_SUB(0xA7A8, 0x1D05, 0x124A, ## __VA_ARGS__), \
>>> +    MACRO__##_SUB(0xA7A8, 0x1D05, 0x124C, ## __VA_ARGS__), \
>>> +    MACRO__##_SUB(0xA7A8, 0x1D05, 0x124E, ## __VA_ARGS__), \
>>> +    MACRO__##_SUB(0xA7A8, 0x1D05, 0x130F, ## __VA_ARGS__), \
>>> +    MACRO__##_SUB(0xA7AA, 0x1D05, 0x124A, ## __VA_ARGS__), \
>>> +    MACRO__##_SUB(0xA7AA, 0x1D05, 0x124C, ## __VA_ARGS__), \
>>> +    MACRO__##_SUB(0xA7AA, 0x1D05, 0x124E, ## __VA_ARGS__), \
>>> +    MACRO__##_SUB(0xA7AA, 0x1D05, 0x130F, ## __VA_ARGS__), \
>>> +    MACRO__##_SUB(0xA7AB, 0x1D05, 0x124A, ## __VA_ARGS__), \
>>> +    MACRO__##_SUB(0xA7AB, 0x1D05, 0x124C, ## __VA_ARGS__), \
>>> +    MACRO__##_SUB(0xA7AB, 0x1D05, 0x124E, ## __VA_ARGS__), \
>>> +    MACRO__##_SUB(0xA7AB, 0x1D05, 0x130F, ## __VA_ARGS__)
>>> +
>>>   /* RPL-P */
>>>   #define INTEL_RPLP_IDS(MACRO__, ...) \
>>>       MACRO__(0xA720, ## __VA_ARGS__), \

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-09-09 15:59 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-08 20:05 [PATCH 1/2] drm/intel: Generalize PCI ID macro for subvendor and subid Werner Sembach
2026-09-08 20:05 ` [PATCH 2/2] drm/intel: Add quirk to disable rc6 on some TUXEDO devices Werner Sembach
2026-09-09  6:32   ` Jani Nikula
2026-09-09 13:45     ` Werner Sembach
2026-09-09 15:59       ` Werner Sembach

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®