Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Werner Sembach <wse@tuxedocomputers.com>
To: "Jani Nikula" <jani.nikula@linux.intel.com>,
	"Joonas Lahtinen" <joonas.lahtinen@linux.intel.com>,
	"Rodrigo Vivi" <rodrigo.vivi@intel.com>,
	"Tvrtko Ursulin" <tursulin@ursulin.net>,
	"David Airlie" <airlied@gmail.com>,
	"Simona Vetter" <simona@ffwll.ch>,
	"Matthew Brost" <matthew.brost@intel.com>,
	"Thomas Hellström" <thomas.hellstrom@linux.intel.com>
Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
	linux-kernel@vger.kernel.org, intel-xe@lists.freedesktop.org
Subject: Re: [PATCH 2/2] drm/intel: Add quirk to disable rc6 on some TUXEDO devices
Date: Wed, 9 Sep 2026 17:59:36 +0200	[thread overview]
Message-ID: <1e0bd720-cda9-483e-a9a0-e221f7df14a9@tuxedocomputers.com> (raw)
In-Reply-To: <267b62f1-cc8e-4fa3-87fe-aedd5cba914b@tuxedocomputers.com>


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__), \

  reply	other threads:[~2026-09-09 15:59 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 message]
2026-09-08 20:14 ` ✗ CI.checkpatch: warning for series starting with [1/2] drm/intel: Generalize PCI ID macro for subvendor and subid Patchwork
2026-09-08 20:16 ` ✓ CI.KUnit: success " Patchwork
2026-09-08 21:08 ` ✓ Xe.CI.BAT: " Patchwork
2026-09-09  5:39 ` ✓ Xe.CI.FULL: " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1e0bd720-cda9-483e-a9a0-e221f7df14a9@tuxedocomputers.com \
    --to=wse@tuxedocomputers.com \
    --cc=airlied@gmail.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=jani.nikula@linux.intel.com \
    --cc=joonas.lahtinen@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=matthew.brost@intel.com \
    --cc=rodrigo.vivi@intel.com \
    --cc=simona@ffwll.ch \
    --cc=thomas.hellstrom@linux.intel.com \
    --cc=tursulin@ursulin.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox