From: Sanjay R Mehta <sanmehta@amd.com>
To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
Sanjay R Mehta <sanju.mehta@amd.com>
Cc: wsa+renesas@sang-engineering.com, jarkko.nikula@linux.intel.com,
jdelvare@suse.de, Sergey.Semin@baikalelectronics.ru,
krzk@kernel.org, kblaiech@mellanox.com, loic.poulain@linaro.org,
rppt@kernel.org, bjorn.andersson@linaro.org, linux@roeck-us.net,
vadimp@mellanox.com, tali.perry1@gmail.com,
linux-i2c@vger.kernel.org,
Nehal Bakulchandra Shah <Nehal-Bakulchandra.Shah@amd.com>
Subject: Re: [PATCH] i2c: add i2c bus driver for AMD NAVI GPU
Date: Wed, 2 Dec 2020 10:14:07 +0530 [thread overview]
Message-ID: <1293a00f-dad0-b2ef-cb4d-eaa887d9bf32@amd.com> (raw)
In-Reply-To: <20201130111909.GJ4077@smile.fi.intel.com>
On 11/30/2020 4:49 PM, Andy Shevchenko wrote:
> [CAUTION: External Email]
>
> On Fri, Nov 27, 2020 at 01:30:39PM -0600, Sanjay R Mehta wrote:
>> From: Nehal Bakulchandra Shah <Nehal-Bakulchandra.Shah@amd.com>
>>
>> Latest AMD GPU card has USB Type-C interface. There is a
>> Type-C controller which can be accessed over I2C.
>>
>> This driver adds I2C bus driver to communicate with Type-C controller.
>> I2C client driver will be part of USB Type-C UCSI driver.
>
> ...
>
>> +I2C CONTROLLER DRIVER FOR AMD NAVI GPU
>
>> I2C MUXES
>
> I always thought that NVIDIA should come after AMD...
> You still didn't learn to run checkpatch.pl?
>
> ...
>
>> +#include <asm/unaligned.h>
>
> Move this after linux/* ones, or explain why should it be first.
>
>> +#include <linux/delay.h>
>> +#include <linux/i2c.h>
>> +#include <linux/interrupt.h>
>> +#include <linux/module.h>
>> +#include <linux/pci.h>
>> +#include <linux/platform_device.h>
>> +#include <linux/pm.h>
>> +#include <linux/pm_runtime.h>
>
> ...
>
>> +#define DRIVER_DESC "AMD I2C Controller Driver for Navi"
>> +#define AMD_UCSI_INTR_REG 0x474
>> +#define AMD_UCSI_INTR_EN 0xD
>> +#define AMD_MASTERCFG_MASK GENMASK_ULL(15, 0)
>
> linux/bits.h is missing.
>
> May you create a better indentation of the values to make it easier to read?
>
>> +struct amdgpu_i2c_dev {
>> + void __iomem *regs;
>
> DesignWare driver has been converted to use regmap. How comes you are using old
> approach?
>
>> + struct device *dev;
>> + u32 master_cfg;
>> + u32 slave_adr;
>> + u32 tx_fifo_depth;
>> + u32 rx_fifo_depth;
>> + u32 sda_hold_time;
>> + u16 ss_hcnt;
>> + u16 ss_lcnt;
>> + u16 fs_hcnt;
>> + u16 fs_lcnt;
>> + u16 fp_hcnt;
>> + u16 fp_lcnt;
>> + u16 hs_hcnt;
>> + u16 hs_lcnt;
>> + struct i2c_adapter adapter;
>> + struct i2c_board_info *gpu_ccgx_ucsi;
>> + struct i2c_client *ccgx_client;
>> +};
>
> ...
>
>> + while (readl(i2cd->regs + DW_IC_STATUS) & DW_IC_STATUS_ACTIVITY) {
>> + if (timeout <= 0) {
>> + dev_dbg(i2cd->dev, "timeout waiting for bus ready\n");
>> + if (readl(i2cd->regs + DW_IC_STATUS) & DW_IC_STATUS_ACTIVITY)
>> + return -ETIMEDOUT;
>> + return 0;
>> + }
>> + timeout--;
>> + usleep_range(1000, 1100);
>> + }
>
> Homework: discover iopoll.h (or regmap.h if we take into account previous
> comment). Bonus: try to read newest kernel submission in the area to see what's
> new.
>
> I stopped here. I think it's enough to revisit entire patch.
> It will look differently for sure when you address all given comments.
>
Thanks Andy. Will incorporate the changes in the next version of patch.
> --
> With Best Regards,
> Andy Shevchenko
>
>
next prev parent reply other threads:[~2020-12-02 4:45 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-27 19:30 [PATCH] i2c: add i2c bus driver for AMD NAVI GPU Sanjay R Mehta
2020-11-30 11:19 ` Andy Shevchenko
2020-12-02 4:44 ` Sanjay R Mehta [this message]
-- strict thread matches above, loose matches on Subject: below --
2021-03-09 13:31 [PATCH] i2c: add i2c bus driver for amd navi gpu Sanket Goswami
2021-03-09 14:23 ` kernel test robot
2021-03-09 14:23 ` kernel test robot
2021-03-09 14:26 ` Andy Shevchenko
2021-03-22 16:56 ` Goswami, Sanket
2021-03-25 17:05 ` Andy Shevchenko
2021-03-26 10:23 ` Goswami, Sanket
2021-03-26 10:40 ` Andy Shevchenko
2021-03-29 5:55 ` Goswami, Sanket
2021-03-29 12:36 ` Andy Shevchenko
2021-03-09 15:35 ` kernel test robot
2021-03-09 15:35 ` kernel test robot
2021-03-09 15:36 ` kernel test robot
2021-03-09 15:36 ` kernel test robot
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=1293a00f-dad0-b2ef-cb4d-eaa887d9bf32@amd.com \
--to=sanmehta@amd.com \
--cc=Nehal-Bakulchandra.Shah@amd.com \
--cc=Sergey.Semin@baikalelectronics.ru \
--cc=andriy.shevchenko@linux.intel.com \
--cc=bjorn.andersson@linaro.org \
--cc=jarkko.nikula@linux.intel.com \
--cc=jdelvare@suse.de \
--cc=kblaiech@mellanox.com \
--cc=krzk@kernel.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=loic.poulain@linaro.org \
--cc=rppt@kernel.org \
--cc=sanju.mehta@amd.com \
--cc=tali.perry1@gmail.com \
--cc=vadimp@mellanox.com \
--cc=wsa+renesas@sang-engineering.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.