linux-spi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: patches@lists.linux.dev, stable@vger.kernel.org
Cc: Mika Westerberg <mika.westerberg@linux.intel.com>,
	Mark Brown <broonie@kernel.org>, Sasha Levin <sashal@kernel.org>,
	linux-spi@vger.kernel.org
Subject: [PATCH AUTOSEL 6.17-6.1] spi: intel-pci: Add support for Intel Wildcat Lake SPI serial flash
Date: Tue, 28 Oct 2025 08:48:01 -0400	[thread overview]
Message-ID: <20251028124815.1058740-1-sashal@kernel.org> (raw)

From: Mika Westerberg <mika.westerberg@linux.intel.com>

[ Upstream commit f7e37affbc9085f2b77ccb6596521a44eabf7505 ]

Add Intel Wildcat Lake SPI serial flash PCI ID to the list of supported
devices.

Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Link: https://patch.msgid.link/20251020145415.3377022-4-mika.westerberg@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---

LLM Generated explanations, may be completely bogus:

## BACKPORT ANALYSIS COMPLETE

**Backport Status: YES**

---

## DETAILED ANALYSIS

### 1. COMMIT CHARACTERIZATION

**Type**: Hardware enablement (PCI device ID addition)

**Code Changes**:
- Single line addition to `drivers/spi/spi-intel-pci.c`
- Adds PCI device ID `0x4d23` (Intel Wildcat Lake SPI serial flash)
- Maps to existing `cnl_info` configuration structure
- No behavioral changes to existing code paths

### 2. SEMANTIC CODE ANALYSIS FINDINGS

#### Tools Used:
- **Read**: Examined the complete file structure (drivers/spi/spi-intel-
  pci.c:68-99)
- **Grep**: Located PCI device table usage and MODULE_DEVICE_TABLE macro
- **Git analysis**: Reviewed commit history and backport precedents

#### Impact Scope Analysis:
- **Direct impact**: Only affects systems with PCI ID 0x4d23 (Wildcat
  Lake hardware)
- **Caller analysis**: The PCI device table is used by the kernel's PCI
  subsystem for automatic device-driver matching
- **Dependency analysis**: Uses `cnl_info` structure (drivers/spi/spi-
  intel-pci.c:38-41), which has existed since 2022
- **Risk assessment**: Zero risk to existing hardware - new entry only
  triggers on matching PCI ID

### 3. BACKPORT PRECEDENT (Strong Evidence)

I found multiple similar commits that **WERE backported** to stable
trees:

**Example 1 - Lunar Lake-M** (commit ec33549be99fe):
```
commit ec33549be99fe25c6927c8b3d6ed13918b27656e
Author: Mika Westerberg <mika.westerberg@linux.intel.com>
Commit: Sasha Levin <sashal@kernel.org> [STABLE MAINTAINER]

spi: intel-pci: Add support for Lunar Lake-M SPI serial flash

[ Upstream commit 8f44e3808200c1434c26ef459722f88f48b306df ]
```

**Example 2 - Granite Rapids** (commit 60446b5e74865):
```
commit 60446b5e74865acff1af5f2d89d99551c8e6e2c1
Author: Mika Westerberg <mika.westerberg@linux.intel.com>
Commit: Greg Kroah-Hartman <gregkh@linuxfoundation.org> [STABLE
MAINTAINER]

spi: intel-pci: Add support for Granite Rapids SPI serial flash

[ Upstream commit 9855d60cfc720ff32355484c119acafd3c4dc806 ]
```

**Key Finding**: Both commits were backported to stable trees by stable
maintainers (Sasha Levin, Greg Kroah-Hartman) **despite having NO
explicit stable tags** in the original commits.

### 4. STABLE TREE COMPLIANCE

**Positive Factors**:
- ✅ Fixes a real user problem (Wildcat Lake users cannot access SPI
  flash on stable kernels)
- ✅ Extremely low risk (single line, static table entry)
- ✅ No architectural changes
- ✅ No dependencies on unreleased features
- ✅ Follows established backporting pattern for PCI ID additions
- ✅ "Obviously correct" - uses tested configuration from 20+ other Intel
  platforms

**Considerations**:
- ⚠️ Technically a "new feature" (new hardware support)
- ✅ However, PCI ID additions are a **special exception** routinely
  accepted by stable maintainers
- ✅ Hardware enablement is considered "fixing" missing support for
  existing hardware

### 5. DEPENDENCY VERIFICATION

- **cnl_info structure**: Present since 2022, exists in all stable
  kernels that would receive this backport
- **PCI_VDEVICE macro**: Standard kernel infrastructure
- **intel_spi_probe()**: Core function, no recent changes that would
  conflict
- **Clean backport**: No conflicts expected with any stable kernel
  version

### 6. RISK ANALYSIS

**Regression Risk**: **MINIMAL**
- Only triggered when PCI ID 0x4d23 is detected
- No effect on systems without Wildcat Lake hardware
- Uses well-tested code path (cnl_info shared with 20+ other platforms)
- No user-space API changes

**Testing Coverage**:
- Same code path used by numerous Intel platforms (Ice Lake, Tiger Lake,
  Alder Lake, etc.)
- Configuration structure (cnl_info) battle-tested across multiple
  generations

### 7. COMMIT MESSAGE ANALYSIS

The commit message is:
- ✅ Clear and descriptive
- ✅ Identifies specific hardware (Intel Wildcat Lake)
- ✅ Consistent with previous similar commits
- ❌ No "Fixes:" tag (not applicable - this is new hardware support)
- ❌ No "Cc: stable@vger.kernel.org" tag (but precedent shows this
  doesn't prevent backporting)

---

## RECOMMENDATION

**YES - This commit SHOULD be backported to stable kernel trees**

### Rationale:

1. **Strong precedent**: Multiple similar PCI ID additions for Intel
   platforms (Lunar Lake, Granite Rapids, Arrow Lake) have been
   backported to stable trees by stable maintainers

2. **User benefit**: Enables critical SPI flash functionality for
   Wildcat Lake hardware owners running stable kernels

3. **Minimal risk**: Single-line change to static table with no impact
   on existing hardware

4. **Well-established pattern**: PCI ID additions for hardware
   enablement are routinely accepted for stable backports as they "fix"
   missing hardware support

5. **Clean backport**: No dependencies or conflicts expected

### Target Stable Trees:
- All currently maintained stable kernels (6.17.x, 6.16.x, 6.15.x, etc.)
- The commit is from v6.18-rc3, so it would benefit users on any stable
  kernel before 6.18

 drivers/spi/spi-intel-pci.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/spi/spi-intel-pci.c b/drivers/spi/spi-intel-pci.c
index 4b63cb98df9cc..4bb158a23349e 100644
--- a/drivers/spi/spi-intel-pci.c
+++ b/drivers/spi/spi-intel-pci.c
@@ -75,6 +75,7 @@ static const struct pci_device_id intel_spi_pci_ids[] = {
 	{ PCI_VDEVICE(INTEL, 0x38a4), (unsigned long)&bxt_info },
 	{ PCI_VDEVICE(INTEL, 0x43a4), (unsigned long)&cnl_info },
 	{ PCI_VDEVICE(INTEL, 0x4b24), (unsigned long)&bxt_info },
+	{ PCI_VDEVICE(INTEL, 0x4d23), (unsigned long)&cnl_info },
 	{ PCI_VDEVICE(INTEL, 0x4da4), (unsigned long)&bxt_info },
 	{ PCI_VDEVICE(INTEL, 0x51a4), (unsigned long)&cnl_info },
 	{ PCI_VDEVICE(INTEL, 0x54a4), (unsigned long)&cnl_info },
-- 
2.51.0


             reply	other threads:[~2025-10-28 12:48 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-28 12:48 Sasha Levin [this message]
2025-10-28 12:48 ` [PATCH AUTOSEL 6.17-6.1] spi: intel-pci: Add support for Arrow Lake-H SPI serial flash Sasha Levin

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=20251028124815.1058740-1-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=broonie@kernel.org \
    --cc=linux-spi@vger.kernel.org \
    --cc=mika.westerberg@linux.intel.com \
    --cc=patches@lists.linux.dev \
    --cc=stable@vger.kernel.org \
    /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;
as well as URLs for NNTP newsgroup(s).