Re: [PATCH v6 4/4] i2c: designware: Add doorbell support for Mendocino

From: Andy Shevchenko
Date: Thu Mar 23 2023 - 09:10:45 EST


On Wed, Mar 22, 2023 at 04:02:26PM -0500, Mario Limonciello wrote:
> Mendocino and later platform don't use the platform feature mailbox for
> communication for I2C arbitration, they rely upon ringing a doorbell.
>
> Detect the platform by the device ID of the root port and choose the
> appropriate method.

...

> - ret = read_poll_timeout(psp_send_i2c_req_cezanne, status,
> + ret = read_poll_timeout(_psp_send_i2c_req, status,
> (status != -EBUSY),

You can place it now in the above line, but up to you.

> PSP_I2C_REQ_RETRY_DELAY_US,
> PSP_I2C_REQ_RETRY_CNT * PSP_I2C_REQ_RETRY_DELAY_US,

...

> + /* Cezanne uses platform mailbox, Mendocino and later use doorbell */
> + rdev = pci_get_domain_bus_and_slot(0, 0, PCI_DEVFN(0, 0));
> + if (rdev->device == 0x1630)
> + _psp_send_i2c_req = psp_send_i2c_req_cezanne;
> + else
> + _psp_send_i2c_req = psp_send_i2c_req_mendocino;

Where is pci_dev_put()?

--
With Best Regards,
Andy Shevchenko