Re: [PATCH v2 4/6] i2c: qcom-cci: Add burst write support
From: Konrad Dybcio
Date: Wed Oct 14 2026 - 07:29:16 EST
On 10/13/26 12:30 PM, Loic Poulain wrote:
> A single CCI_I2C_WRITE command can only carry up to 11 bytes,
> so every i2c write was capped at that size via i2c max_write
> quirk.
>
> CCI v1.2 introduces burst mode support, where consecutive
> write commands (marked as burst) run back-to-back as a single
> transfer.
[...]
> -static void cci_i2c_load_write(u8 *buf, u16 len, void __iomem *loadq)
> +static void cci_i2c_load_write(void __iomem *loadq, u8 *buf, u16 len, bool burst)
> {
> u32 cmd[CCI_I2C_WRITE_WC] = { };
>
> - if (WARN_ON(len >= CCI_I2C_WRITE_WC * sizeof(u32)))
> + if (WARN_ON(len > CCI_I2C_WRITE_MAX_LEN ||
> + (burst && len != CCI_I2C_WRITE_MAX_LEN)))
> return;
>
> - cmd[0] = CCI_I2C_WRITE | len << 4;
> + cmd[0] = CCI_I2C_WRITE | (burst ? CCI_I2C_WRITE_BURST : len) << 4;
I think this calls for FIELD_PREP(), but we can do that as follow-up
cleanup at the end of the series
Konrad