From: Jonathan Cameron <jonathan.cameron@huawei.com>
To: Dave Jiang <dave.jiang@intel.com>
Cc: <smadhavan@nvidia.com>, <dave@stgolabs.net>,
<alison.schofield@intel.com>, <vishal.l.verma@intel.com>,
<ira.weiny@intel.com>, <dan.j.williams@intel.com>,
<bhelgaas@google.com>, <ming.li@zohomail.com>, <rrichter@amd.com>,
<Smita.KoralahalliChannabasappa@amd.com>,
<huaisheng.ye@intel.com>, <linux-cxl@vger.kernel.org>,
<linux-pci@vger.kernel.org>, <vaslot@nvidia.com>,
<vsethi@nvidia.com>, <sdonthineni@nvidia.com>,
<vidyas@nvidia.com>, <mochs@nvidia.com>, <jsequeira@nvidia.com>
Subject: Re: [PATCH v4 03/10] cxl: add type 2 helper and reset DVSEC bits
Date: Wed, 21 Jan 2026 10:45:36 +0000 [thread overview]
Message-ID: <20260121104536.00003c47@huawei.com> (raw)
In-Reply-To: <aa8d4f6a-e7bd-4a20-8d34-4376ea314b8f@intel.com>
On Tue, 20 Jan 2026 16:27:33 -0700
Dave Jiang <dave.jiang@intel.com> wrote:
> On 1/20/26 3:26 PM, smadhavan@nvidia.com wrote:
> > From: Srirangan Madhavan <smadhavan@nvidia.com>
> >
> > Introduce a helper to identify CXL Type 2 devices and define the DVSEC
> > reset/cache control bits used by the reset flow.
>
> Should probably be 2 separate patches for these 2 things.
Also, follow existing convention and put them new DVSEC defs
in the uapi/pci_regs.h file. The rest are moving there shortly.
Given they are now in a uapi file, I also wonder if we should just
fill in the rest of the structure definitions as a stand alone
patch. A partial set isn't much use to userspace tooling.
Jonathan
>
> >
> > Signed-off-by: Srirangan Madhavan <smadhavan@nvidia.com>
> > ---
> > drivers/cxl/pci.c | 10 ++++++++++
> > include/cxl/pci.h | 14 ++++++++++++++
> > 2 files changed, 24 insertions(+)
> >
> > diff --git a/drivers/cxl/pci.c b/drivers/cxl/pci.c
> > index 55c767df4543..b562e607ec46 100644
> > --- a/drivers/cxl/pci.c
> > +++ b/drivers/cxl/pci.c
> > @@ -1075,6 +1075,16 @@ static pci_ers_result_t cxl_slot_reset(struct pci_dev *pdev)
> > return PCI_ERS_RESULT_RECOVERED;
> > }
> >
> > +bool cxl_is_type2_device(struct pci_dev *pdev)
> > +{
> > + struct cxl_dev_state *cxlds = pci_get_drvdata(pdev);
> > +
> > + if (!cxlds)
> > + return false;
> > +
> > + return cxlds->type == CXL_DEVTYPE_DEVMEM;
> > +}
> > +
> > static void cxl_error_resume(struct pci_dev *pdev)
> > {
> > struct cxl_dev_state *cxlds = pci_get_drvdata(pdev);
> > diff --git a/include/cxl/pci.h b/include/cxl/pci.h
> > index 728ba0cdd289..71d8de5de948 100644
> > --- a/include/cxl/pci.h
> > +++ b/include/cxl/pci.h
> > @@ -14,10 +14,24 @@
> > /* CXL 2.0 8.1.3: PCIe DVSEC for CXL Device */
> > #define CXL_DVSEC_PCIE_DEVICE 0
> > #define CXL_DVSEC_CAP_OFFSET 0xA
> > +#define CXL_DVSEC_CACHE_CAPABLE BIT(0)
> > #define CXL_DVSEC_MEM_CAPABLE BIT(2)
> > #define CXL_DVSEC_HDM_COUNT_MASK GENMASK(5, 4)
> > +#define CXL_DVSEC_CACHE_WBI_CAPABLE BIT(6)
> > +#define CXL_DVSEC_CXL_RST_CAPABLE BIT(7)
> > +#define CXL_DVSEC_CXL_RST_TIMEOUT_MASK GENMASK(10, 8)
> > +#define CXL_DVSEC_CXL_RST_MEM_CLR_CAPABLE BIT(11)
> > #define CXL_DVSEC_CTRL_OFFSET 0xC
> > #define CXL_DVSEC_MEM_ENABLE BIT(2)
> > +#define CXL_DVSEC_CTRL2_OFFSET 0x10
> > +#define CXL_DVSEC_DISABLE_CACHING BIT(0)
> > +#define CXL_DVSEC_INIT_CACHE_WBI BIT(1)
> > +#define CXL_DVSEC_INIT_CXL_RESET BIT(2)
> > +#define CXL_DVSEC_CXL_RST_MEM_CLR_ENABLE BIT(3)
> > +#define CXL_DVSEC_STATUS2_OFFSET 0x12
> > +#define CXL_DVSEC_CACHE_INVALID BIT(0)
> > +#define CXL_DVSEC_CXL_RST_COMPLETE BIT(1)
> > +#define CXL_DVSEC_CXL_RESET_ERR BIT(2)
> > #define CXL_DVSEC_RANGE_SIZE_HIGH(i) (0x18 + ((i) * 0x10))
> > #define CXL_DVSEC_RANGE_SIZE_LOW(i) (0x1C + ((i) * 0x10))
> > #define CXL_DVSEC_MEM_INFO_VALID BIT(0)
>
> Should this chunk go with a different patch where the definitions are being used?
>
> > --
> > 2.34.1
> >
>
>
next prev parent reply other threads:[~2026-01-21 10:45 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-20 22:26 [PATCH v4 0/10] CXL Reset support for Type 2 devices smadhavan
2026-01-20 22:26 ` [PATCH v4 01/10] cxl: move DVSEC defines to cxl pci header smadhavan
2026-01-21 10:31 ` Jonathan Cameron
2026-01-20 22:26 ` [PATCH v4 02/10] PCI: switch CXL port DVSEC defines smadhavan
2026-01-21 10:34 ` Jonathan Cameron
2026-01-20 22:26 ` [PATCH v4 03/10] cxl: add type 2 helper and reset DVSEC bits smadhavan
2026-01-20 23:27 ` Dave Jiang
2026-01-21 10:45 ` Jonathan Cameron [this message]
2026-01-20 22:26 ` [PATCH v4 04/10] PCI: add CXL reset method smadhavan
2026-01-21 0:08 ` Dave Jiang
2026-01-21 10:57 ` Jonathan Cameron
2026-01-23 13:54 ` kernel test robot
2026-01-20 22:26 ` [PATCH v4 05/10] cxl: add reset prepare and region teardown smadhavan
2026-01-21 11:09 ` Jonathan Cameron
2026-01-21 21:25 ` Dave Jiang
2026-01-20 22:26 ` [PATCH v4 06/10] PCI: wire CXL reset prepare/cleanup smadhavan
2026-01-21 22:13 ` Dave Jiang
2026-01-22 2:17 ` Srirangan Madhavan
2026-01-22 15:11 ` Dave Jiang
2026-01-24 7:54 ` kernel test robot
2026-01-20 22:26 ` [PATCH v4 07/10] cxl: add host cache flush and multi-function reset smadhavan
2026-01-21 11:20 ` Jonathan Cameron
2026-01-21 20:27 ` Davidlohr Bueso
2026-01-22 9:53 ` Jonathan Cameron
2026-01-21 22:19 ` Vikram Sethi
2026-01-22 9:40 ` Souvik Chakravarty
[not found] ` <PH7PR12MB9175CDFC163843BB497073CEBD96A@PH7PR12MB9175.namprd12.prod.outlook.com>
2026-01-22 10:31 ` Jonathan Cameron
2026-01-22 19:24 ` Vikram Sethi
2026-01-23 13:13 ` Jonathan Cameron
2026-01-21 23:59 ` Dave Jiang
2026-01-20 22:26 ` [PATCH v4 08/10] cxl: add DVSEC config save/restore smadhavan
2026-01-21 11:31 ` Jonathan Cameron
2026-01-20 22:26 ` [PATCH v4 09/10] PCI: save/restore CXL config around reset smadhavan
2026-01-21 22:32 ` Dave Jiang
2026-01-22 10:01 ` Lukas Wunner
2026-01-22 10:47 ` Jonathan Cameron
2026-01-26 22:34 ` Alex Williamson
2026-03-12 18:24 ` Jonathan Cameron
2026-01-20 22:26 ` [PATCH v4 10/10] cxl: add HDM decoder and IDE save/restore smadhavan
2026-01-21 11:42 ` Jonathan Cameron
2026-01-22 15:09 ` Dave Jiang
2026-01-21 1:19 ` [PATCH v4 0/10] CXL Reset support for Type 2 devices Alison Schofield
2026-01-22 0:00 ` Bjorn Helgaas
2026-01-27 16:33 ` Alex Williamson
2026-01-27 17:02 ` dan.j.williams
2026-01-27 18:07 ` Vikram Sethi
2026-01-28 3:42 ` dan.j.williams
2026-01-28 12:36 ` Jonathan Cameron
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=20260121104536.00003c47@huawei.com \
--to=jonathan.cameron@huawei.com \
--cc=Smita.KoralahalliChannabasappa@amd.com \
--cc=alison.schofield@intel.com \
--cc=bhelgaas@google.com \
--cc=dan.j.williams@intel.com \
--cc=dave.jiang@intel.com \
--cc=dave@stgolabs.net \
--cc=huaisheng.ye@intel.com \
--cc=ira.weiny@intel.com \
--cc=jsequeira@nvidia.com \
--cc=linux-cxl@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=ming.li@zohomail.com \
--cc=mochs@nvidia.com \
--cc=rrichter@amd.com \
--cc=sdonthineni@nvidia.com \
--cc=smadhavan@nvidia.com \
--cc=vaslot@nvidia.com \
--cc=vidyas@nvidia.com \
--cc=vishal.l.verma@intel.com \
--cc=vsethi@nvidia.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.