Skip to content

driver: i2c: mv64xxx: cn9130 bus lockup issue - #615

Open
hishahbhavsar wants to merge 1 commit into
sonic-net:masterfrom
hishahbhavsar:hishahbhavsar-sonic-linux-kernel
Open

driver: i2c: mv64xxx: cn9130 bus lockup issue#615
hishahbhavsar wants to merge 1 commit into
sonic-net:masterfrom
hishahbhavsar:hishahbhavsar-sonic-linux-kernel

Conversation

@hishahbhavsar

Copy link
Copy Markdown
  • This patch disable offload module, and disable the "i2c debug slave"

@hishahbhavsar
hishahbhavsar requested a review from a team as a code owner August 25, 2026 21:01
@linux-foundation-easycla

linux-foundation-easycla Bot commented Aug 25, 2026

Copy link
Copy Markdown

CLA Signed
The committers listed above are authorized under a signed CLA.

  • ✅ login: hishahbhavsar / name: hishahbhavsar (1c4d389)

@mssonicbld

Copy link
Copy Markdown

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).

@hishahbhavsar
hishahbhavsar force-pushed the hishahbhavsar-sonic-linux-kernel branch from 1c4d389 to c09c2ed Compare August 27, 2026 21:06
@mssonicbld

Copy link
Copy Markdown

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).

@hishahbhavsar

hishahbhavsar commented Aug 28, 2026

Copy link
Copy Markdown
Author

Refreshed patch 0023 against Linux v6.12.41 + patches through 0022. The original patch applied with fuzz, causing the CI patch application failure; the refreshed patch now applies cleanly.

Could you please review the updated patch and approve PR #615 if everything looks good? Thank you.

@paulmenzel paulmenzel left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did you report this upstream? What do they say?

Comment thread patches-sonic/0023-i2c-mv64xx-cn9130-bus-lockup-issue.patch Outdated
Comment thread patches-sonic/0023-i2c-mv64xx-cn9130-bus-lockup-issue.patch Outdated
Date: Thu, 27 Aug 2026 13:49:20 -0700
Subject: [PATCH] driver: i2c: mv64xxx: cn9130 bus lockup issue

This patch disable offload module, and disable the "i2c debug slave"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please split into two patches, and add a problem description, and why your patch is the solution.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added full problem description and justification. Regarding splitting — these two changes are interdependent. Disabling either one alone does not resolve the lockup. Splitting would result in a broken intermediate state, so keeping them as a single patch is the correct approach."

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Disabling either one alone might not resolve the lockup, but there are two separate changes, with two separate effects being made here. That warrants having two separate patches.

+ /* Disable I2C slave */
+ data = readl(drv_data->reg_base + drv_data->reg_offsets.config_debug);
+ data &= ~BIT(18);
+ writel(data, drv_data->reg_base + drv_data->reg_offsets.config_debug);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

regmap_clear_bits(drv_data->map, drv_data->reg_offsets.config_debug, BIT(18));

@paulmenzel

Copy link
Copy Markdown
Contributor

@vmytnyk-plv, thank you for looking at this, but what did you review exactly?

- This patch disable offload module, and disable the "i2c debug slave"

Signed-off-by: Narendra Hadke <nhadke@marvell.com>
@hishahbhavsar
hishahbhavsar force-pushed the hishahbhavsar-sonic-linux-kernel branch from c09c2ed to 813e01a Compare September 4, 2026 21:15
@saiarcot895

Copy link
Copy Markdown
Contributor

Has this been reported upstream?

@hishahbhavsar

Copy link
Copy Markdown
Author

Has this been reported upstream?

This fix has not been submitted to upstream kernel.org. The patch addresses a Marvell-specific hardware issue involving an internal "debug I2C slave" register (config_debug at offset 0x8C) that is proprietary to the Marvell CN9130/mv78230 SoC and not part of the standard driver interface. The fix has been validated and is shipping in Marvell's SDK11, SDK12, and SDK13 (linux-6.6.y) kernels internally.

We are aware that upstreaming is the preferred long-term path. However, since the fix accesses a Marvell-proprietary internal register and the issue behavior differs on newer kernels (not reproducible in linux-6.12), we have not yet submitted it to the upstream mailing list. We will look into submitting it upstream and will update this PR accordingly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants