From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Tali Perry <tali.perry1@gmail.com>
Cc: ofery@google.com, brendanhiggins@google.com,
avifishman70@gmail.com, tmaimon77@gmail.com, kfting@nuvoton.com,
venture@google.com, yuenn@google.com, benjaminfair@google.com,
robh+dt@kernel.org, wsa@the-dreams.de,
linux-arm-kernel@lists.infradead.org, linux-i2c@vger.kernel.org,
openbmc@lists.ozlabs.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v12 3/3] i2c: npcm7xx: Add support for slave mode for Nuvoton
Date: Thu, 21 May 2020 17:36:35 +0300 [thread overview]
Message-ID: <20200521143635.GN1634618@smile.fi.intel.com> (raw)
In-Reply-To: <20200521110910.45518-4-tali.perry1@gmail.com>
On Thu, May 21, 2020 at 02:09:10PM +0300, Tali Perry wrote:
> Add support for slave mode for Nuvoton
> NPCM BMC I2C controller driver.
...
> +#if IS_ENABLED(CONFIG_I2C_SLAVE)
> +/*
> + * npcm_i2caddr array:
> + * The module supports having multiple own slave addresses.
> + * Since the addr regs are sprinkled all over the address space,
> + * use this array to get the address or each register.
> + */
> +#define I2C_NUM_OWN_ADDR 10
> +const int npcm_i2caddr[I2C_NUM_OWN_ADDR] = {NPCM_I2CADDR1, NPCM_I2CADDR2,
Extra spaces.
On top. please start assignment from the new line.
> + NPCM_I2CADDR3, NPCM_I2CADDR4,
> + NPCM_I2CADDR5, NPCM_I2CADDR6,
> + NPCM_I2CADDR7, NPCM_I2CADDR8,
> + NPCM_I2CADDR9, NPCM_I2CADDR10};
Split }; to new line and leave comma with the last member.
> +#endif
...
> +static int npcm_i2c_slave_enable(struct npcm_i2c *bus, enum i2c_addr addr_type,
> + u8 addr, bool enable)
Extra spaces. Check entire patch for that and fix accordingly.
> +#if IS_ENABLED(CONFIG_I2C_SLAVE)
> + if (bus->slave)
> + npcm_i2c_slave_enable(bus, I2C_SLAVE_ADDR1, bus->slave->addr,
> + true);
I would leave this on one line.
> +#endif
...
> +static void npcm_i2c_write_fifo_slave(struct npcm_i2c *bus, u16 max_bytes)
> +{
> + u8 size_free_fifo;
+ blank line.
> + /*
> + * Fill the FIFO, while the FIFO is not full and there are more bytes
> + * to write
> + */
> + npcm_i2c_clear_fifo_int(bus);
> + npcm_i2c_clear_tx_fifo(bus);
> + iowrite8(0, bus->reg + NPCM_I2CTXF_CTL);
> + size_free_fifo = I2C_HW_FIFO_SIZE - npcm_i2c_fifo_usage(bus);
Dup, move into loop.
> + while (max_bytes-- && size_free_fifo) {
> + if (bus->slv_wr_size > 0) {
> + bus->slv_wr_ind = bus->slv_wr_ind % I2C_HW_FIFO_SIZE;
> + npcm_i2c_wr_byte(bus, bus->slv_wr_buf[bus->slv_wr_ind]);
> + bus->slv_wr_ind++;
> + bus->slv_wr_ind = bus->slv_wr_ind % I2C_HW_FIFO_SIZE;
> + bus->slv_wr_size--;
> + size_free_fifo = I2C_HW_FIFO_SIZE -
> + npcm_i2c_fifo_usage(bus);
> + } else {
> + break;
> + }
> + }
while (...) {
if (...)
break;
...
}
> +}
...
> +static int npcm_i2c_slave_get_wr_buf(struct npcm_i2c *bus)
> +{
> + int i;
> + u8 value = 0;
Redundant assignment.
> + int ind;
> + int ret = bus->slv_wr_ind;
> +
> + /* fill a cyclic buffer */
> + for (i = 0; i < I2C_HW_FIFO_SIZE; i++) {
> + if (bus->slv_wr_size >= I2C_HW_FIFO_SIZE)
> + break;
> + i2c_slave_event(bus->slave, I2C_SLAVE_READ_REQUESTED, &value);
> + ind = (bus->slv_wr_ind + bus->slv_wr_size) % I2C_HW_FIFO_SIZE;
> + bus->slv_wr_buf[ind] = value;
> + bus->slv_wr_size++;
> + i2c_slave_event(bus->slave, I2C_SLAVE_READ_PROCESSED, &value);
> + }
> + return I2C_HW_FIFO_SIZE - ret;
> +}
--
With Best Regards,
Andy Shevchenko
prev parent reply other threads:[~2020-05-21 14:36 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-21 11:09 [PATCH v12 0/3] i2c: npcm7xx: add NPCM i2c controller driver Tali Perry
2020-05-21 11:09 ` [PATCH v12 1/3] dt-bindings: i2c: npcm7xx: add NPCM I2C controller Tali Perry
2020-05-21 19:58 ` robh
2020-05-21 11:09 ` [PATCH v12 2/3] i2c: npcm7xx: Add Nuvoton NPCM I2C controller driver Tali Perry
2020-05-21 14:23 ` Andy Shevchenko
2020-05-21 14:31 ` Wolfram Sang
2020-05-21 14:45 ` Tali Perry
2020-05-21 14:53 ` Andy Shevchenko
2020-05-21 20:37 ` Wolfram Sang
2020-05-21 20:47 ` Tali Perry
2020-05-21 21:21 ` Wolfram Sang
2020-05-22 14:45 ` Wolfram Sang
2020-05-21 11:09 ` [PATCH v12 3/3] i2c: npcm7xx: Add support for slave mode for Nuvoton Tali Perry
2020-05-21 14:36 ` Andy Shevchenko [this message]
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=20200521143635.GN1634618@smile.fi.intel.com \
--to=andriy.shevchenko@linux.intel.com \
--cc=avifishman70@gmail.com \
--cc=benjaminfair@google.com \
--cc=brendanhiggins@google.com \
--cc=devicetree@vger.kernel.org \
--cc=kfting@nuvoton.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=ofery@google.com \
--cc=openbmc@lists.ozlabs.org \
--cc=robh+dt@kernel.org \
--cc=tali.perry1@gmail.com \
--cc=tmaimon77@gmail.com \
--cc=venture@google.com \
--cc=wsa@the-dreams.de \
--cc=yuenn@google.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 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).