Linux CXL
 help / color / mirror / Atom feed
From: Alejandro Lucero Palau <alucerop@amd.com>
To: "Zhijian Li (Fujitsu)" <lizhijian@fujitsu.com>,
	Gregory Price <gourry@gourry.net>
Cc: "linux-cxl@vger.kernel.org" <linux-cxl@vger.kernel.org>,
	Jonathan Cameron <jonathan.cameron@huawei.com>,
	Dave Jiang <dave.jiang@intel.com>,
	Alison Schofield <alison.schofield@intel.com>,
	Vishal Verma <vishal.l.verma@intel.com>,
	Ira Weiny <ira.weiny@intel.com>,
	Dan Williams <dan.j.williams@intel.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [RFC PATCH] cxl: Allow reprogramming misconfigured hdm decoders
Date: Wed, 30 Apr 2025 09:42:35 +0100	[thread overview]
Message-ID: <200f8614-34ba-42b4-aa8c-560d3052e496@amd.com> (raw)
In-Reply-To: <082de146-d5ed-4b49-ba0f-d6f018436e5b@fujitsu.com>


On 4/30/25 04:24, Zhijian Li (Fujitsu) wrote:
>
> On 30/04/2025 10:17, Gregory Price wrote:
>> On Wed, Apr 30, 2025 at 09:29:15AM +0800, Li Zhijian wrote:
>>> During kernel booting, CXL drivers will attempt to construct the CXL region
>>> according to the pre-programed(firmware provisioning) HDM decoders.
>>>
>>> This construction process will fail for some reasons, in this case, the
>>> userspace cli like ndctl/cxl cannot destroy nor create regions upon the
>>> existing decoders.
>>>
>>> Introuce a new flag CXL_DECODER_F_NEED_RESET tell the driver to reset
>>> the decoder during `cxl destroy-region regionN`, so that region can be
>>> create again after that.
>>>
>> My best understanding of why this is disallowed is that firmware/bios
>> programmed decoders need to be locked because there is an assumption
>> that the platform programmed it that way *for a reason* - and that
>> changing the programming would break it (cause MCEs for other reasons,
>> etc).
>
> Hi Gregory,
>
> Thank you for the feedback. Based on current CXL driver behavior, user-space tools
> can indeed reprogram firmware-provisioned HDM decoders in practice.
>
> For example, after a successful boot, one may destroy the auto-constructed region
> via cxl destroy-region and create a new different region.
> This indicates that the kernel does not inherently lock down these decoders.
>
> As for the locking rationale you mentioned, platform vendors might enforce their policies
> through mechanisms like the *Lock-On-Commit* in CXL HDM Decoder n Control Register
>
> While platform vendors may have valid considerations (as you noted), from a driver and
> end-user perspective, depending solely on firmware updates to fix transient failures
> is not smooth sometimes :).
>

Hi Zhijan,


 From my current effort trying to get a Type2 device properly 
initialized by the kernel after the BIOS/platform firmware doing 
whatever it needs to do, I really think we should have a wider 
discussion regarding this sync, and maybe to have first something from 
the kernel expectation of what the BIOS should and should not do.


If this makes sense, I could work on a initial draft about the outline 
or points to discuss about this.


Thank you


>> So the appropriate solution here is for the platform vendor to fix their
>> firmware.
>>
>> But I am not a platform people - so I will defer to them on whether my
>> understanding is correct.
> Yeah, it's still in the RFC stage, let's hear more voices.
>
> Thanks
> Zhijian
>
>> ~Gregory
>>

  reply	other threads:[~2025-04-30  8:42 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-30  1:29 [RFC PATCH] cxl: Allow reprogramming misconfigured hdm decoders Li Zhijian
2025-04-30  2:17 ` Gregory Price
2025-04-30  3:24   ` Zhijian Li (Fujitsu)
2025-04-30  8:42     ` Alejandro Lucero Palau [this message]
2025-05-07  6:42       ` Zhijian Li (Fujitsu)
2025-05-07 11:10         ` Alejandro Lucero Palau

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=200f8614-34ba-42b4-aa8c-560d3052e496@amd.com \
    --to=alucerop@amd.com \
    --cc=alison.schofield@intel.com \
    --cc=dan.j.williams@intel.com \
    --cc=dave.jiang@intel.com \
    --cc=gourry@gourry.net \
    --cc=ira.weiny@intel.com \
    --cc=jonathan.cameron@huawei.com \
    --cc=linux-cxl@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lizhijian@fujitsu.com \
    --cc=vishal.l.verma@intel.com \
    /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