[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <BN7PR12MB2802A2E7A193B8BC0073812BDCB79@BN7PR12MB2802.namprd12.prod.outlook.com>
Date: Tue, 7 Mar 2023 11:09:41 +0000
From: "Mahapatra, Amit Kumar" <amit.kumar-mahapatra@....com>
To: Jonas Gorski <jonas.gorski@...il.com>
CC: "broonie@...nel.org" <broonie@...nel.org>,
"miquel.raynal@...tlin.com" <miquel.raynal@...tlin.com>,
"richard@....at" <richard@....at>,
"vigneshr@...com" <vigneshr@...com>,
"jic23@...nel.org" <jic23@...nel.org>,
"tudor.ambarus@...rochip.com" <tudor.ambarus@...rochip.com>,
"pratyush@...nel.org" <pratyush@...nel.org>,
"Mehta, Sanju" <Sanju.Mehta@....com>,
"chin-ting_kuo@...eedtech.com" <chin-ting_kuo@...eedtech.com>,
"clg@...d.org" <clg@...d.org>,
"kdasu.kdev@...il.com" <kdasu.kdev@...il.com>,
"f.fainelli@...il.com" <f.fainelli@...il.com>,
"rjui@...adcom.com" <rjui@...adcom.com>,
"sbranden@...adcom.com" <sbranden@...adcom.com>,
"eajames@...ux.ibm.com" <eajames@...ux.ibm.com>,
"olteanv@...il.com" <olteanv@...il.com>,
"han.xu@....com" <han.xu@....com>,
"john.garry@...wei.com" <john.garry@...wei.com>,
"shawnguo@...nel.org" <shawnguo@...nel.org>,
"s.hauer@...gutronix.de" <s.hauer@...gutronix.de>,
"narmstrong@...libre.com" <narmstrong@...libre.com>,
"khilman@...libre.com" <khilman@...libre.com>,
"matthias.bgg@...il.com" <matthias.bgg@...il.com>,
"haibo.chen@....com" <haibo.chen@....com>,
"linus.walleij@...aro.org" <linus.walleij@...aro.org>,
"daniel@...que.org" <daniel@...que.org>,
"haojian.zhuang@...il.com" <haojian.zhuang@...il.com>,
"robert.jarzmik@...e.fr" <robert.jarzmik@...e.fr>,
"agross@...nel.org" <agross@...nel.org>,
"bjorn.andersson@...aro.org" <bjorn.andersson@...aro.org>,
"heiko@...ech.de" <heiko@...ech.de>,
"krzysztof.kozlowski@...aro.org" <krzysztof.kozlowski@...aro.org>,
"andi@...zian.org" <andi@...zian.org>,
"mcoquelin.stm32@...il.com" <mcoquelin.stm32@...il.com>,
"alexandre.torgue@...s.st.com" <alexandre.torgue@...s.st.com>,
"wens@...e.org" <wens@...e.org>,
"jernej.skrabec@...il.com" <jernej.skrabec@...il.com>,
"samuel@...lland.org" <samuel@...lland.org>,
"masahisa.kojima@...aro.org" <masahisa.kojima@...aro.org>,
"jaswinder.singh@...aro.org" <jaswinder.singh@...aro.org>,
"rostedt@...dmis.org" <rostedt@...dmis.org>,
"mingo@...hat.com" <mingo@...hat.com>,
"l.stelmach@...sung.com" <l.stelmach@...sung.com>,
"davem@...emloft.net" <davem@...emloft.net>,
"edumazet@...gle.com" <edumazet@...gle.com>,
"kuba@...nel.org" <kuba@...nel.org>,
"pabeni@...hat.com" <pabeni@...hat.com>,
"alex.aring@...il.com" <alex.aring@...il.com>,
"stefan@...enfreihafen.org" <stefan@...enfreihafen.org>,
"kvalo@...nel.org" <kvalo@...nel.org>,
"james.schulman@...rus.com" <james.schulman@...rus.com>,
"david.rhodes@...rus.com" <david.rhodes@...rus.com>,
"tanureal@...nsource.cirrus.com" <tanureal@...nsource.cirrus.com>,
"rf@...nsource.cirrus.com" <rf@...nsource.cirrus.com>,
"perex@...ex.cz" <perex@...ex.cz>,
"tiwai@...e.com" <tiwai@...e.com>,
"npiggin@...il.com" <npiggin@...il.com>,
"christophe.leroy@...roup.eu" <christophe.leroy@...roup.eu>,
"mpe@...erman.id.au" <mpe@...erman.id.au>,
"oss@...error.net" <oss@...error.net>,
"windhl@....com" <windhl@....com>,
"yangyingliang@...wei.com" <yangyingliang@...wei.com>,
"william.zhang@...adcom.com" <william.zhang@...adcom.com>,
"kursad.oney@...adcom.com" <kursad.oney@...adcom.com>,
"anand.gore@...adcom.com" <anand.gore@...adcom.com>,
"rafal@...ecki.pl" <rafal@...ecki.pl>,
"git (AMD-Xilinx)" <git@....com>,
"linux-spi@...r.kernel.org" <linux-spi@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"joel@....id.au" <joel@....id.au>,
"andrew@...id.au" <andrew@...id.au>,
"radu_nicolae.pirea@....ro" <radu_nicolae.pirea@....ro>,
"nicolas.ferre@...rochip.com" <nicolas.ferre@...rochip.com>,
"alexandre.belloni@...tlin.com" <alexandre.belloni@...tlin.com>,
"claudiu.beznea@...rochip.com" <claudiu.beznea@...rochip.com>,
"bcm-kernel-feedback-list@...adcom.com"
<bcm-kernel-feedback-list@...adcom.com>,
"fancer.lancer@...il.com" <fancer.lancer@...il.com>,
"kernel@...gutronix.de" <kernel@...gutronix.de>,
"festevam@...il.com" <festevam@...il.com>,
"linux-imx@....com" <linux-imx@....com>,
"jbrunet@...libre.com" <jbrunet@...libre.com>,
"martin.blumenstingl@...glemail.com"
<martin.blumenstingl@...glemail.com>,
"avifishman70@...il.com" <avifishman70@...il.com>,
"tmaimon77@...il.com" <tmaimon77@...il.com>,
"tali.perry1@...il.com" <tali.perry1@...il.com>,
"venture@...gle.com" <venture@...gle.com>,
"yuenn@...gle.com" <yuenn@...gle.com>,
"benjaminfair@...gle.com" <benjaminfair@...gle.com>,
"yogeshgaur.83@...il.com" <yogeshgaur.83@...il.com>,
"konrad.dybcio@...ainline.org" <konrad.dybcio@...ainline.org>,
"alim.akhtar@...sung.com" <alim.akhtar@...sung.com>,
"ldewangan@...dia.com" <ldewangan@...dia.com>,
"thierry.reding@...il.com" <thierry.reding@...il.com>,
"jonathanh@...dia.com" <jonathanh@...dia.com>,
"Simek, Michal" <michal.simek@....com>,
"linux-aspeed@...ts.ozlabs.org" <linux-aspeed@...ts.ozlabs.org>,
"openbmc@...ts.ozlabs.org" <openbmc@...ts.ozlabs.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"linux-rpi-kernel@...ts.infradead.org"
<linux-rpi-kernel@...ts.infradead.org>,
"linux-amlogic@...ts.infradead.org"
<linux-amlogic@...ts.infradead.org>,
"linux-mediatek@...ts.infradead.org"
<linux-mediatek@...ts.infradead.org>,
"linux-arm-msm@...r.kernel.org" <linux-arm-msm@...r.kernel.org>,
"linux-rockchip@...ts.infradead.org"
<linux-rockchip@...ts.infradead.org>,
"linux-samsung-soc@...r.kernel.org"
<linux-samsung-soc@...r.kernel.org>,
"linux-stm32@...md-mailman.stormreply.com"
<linux-stm32@...md-mailman.stormreply.com>,
"linux-sunxi@...ts.linux.dev" <linux-sunxi@...ts.linux.dev>,
"linux-tegra@...r.kernel.org" <linux-tegra@...r.kernel.org>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"linux-wpan@...r.kernel.org" <linux-wpan@...r.kernel.org>,
"libertas-dev@...ts.infradead.org" <libertas-dev@...ts.infradead.org>,
"linux-wireless@...r.kernel.org" <linux-wireless@...r.kernel.org>,
"linux-mtd@...ts.infradead.org" <linux-mtd@...ts.infradead.org>,
"lars@...afoo.de" <lars@...afoo.de>,
"Michael.Hennerich@...log.com" <Michael.Hennerich@...log.com>,
"linux-iio@...r.kernel.org" <linux-iio@...r.kernel.org>,
"michael@...le.cc" <michael@...le.cc>,
"palmer@...belt.com" <palmer@...belt.com>,
"linux-riscv@...ts.infradead.org" <linux-riscv@...ts.infradead.org>,
"alsa-devel@...a-project.org" <alsa-devel@...a-project.org>,
"patches@...nsource.cirrus.com" <patches@...nsource.cirrus.com>,
"linuxppc-dev@...ts.ozlabs.org" <linuxppc-dev@...ts.ozlabs.org>,
"amitrkcian2002@...il.com" <amitrkcian2002@...il.com>
Subject: RE: [PATCH V5 09/15] spi: Add stacked and parallel memories support
in SPI core
Hello,
> -----Original Message-----
> From: Jonas Gorski <jonas.gorski@...il.com>
> Sent: Tuesday, March 7, 2023 1:31 AM
> To: Mahapatra, Amit Kumar <amit.kumar-mahapatra@....com>
> Cc: broonie@...nel.org; miquel.raynal@...tlin.com; richard@....at;
> vigneshr@...com; jic23@...nel.org; tudor.ambarus@...rochip.com;
> pratyush@...nel.org; Mehta, Sanju <Sanju.Mehta@....com>; chin-
> ting_kuo@...eedtech.com; clg@...d.org; kdasu.kdev@...il.com;
> f.fainelli@...il.com; rjui@...adcom.com; sbranden@...adcom.com;
> eajames@...ux.ibm.com; olteanv@...il.com; han.xu@....com;
> john.garry@...wei.com; shawnguo@...nel.org; s.hauer@...gutronix.de;
> narmstrong@...libre.com; khilman@...libre.com;
> matthias.bgg@...il.com; haibo.chen@....com; linus.walleij@...aro.org;
> daniel@...que.org; haojian.zhuang@...il.com; robert.jarzmik@...e.fr;
> agross@...nel.org; bjorn.andersson@...aro.org; heiko@...ech.de;
> krzysztof.kozlowski@...aro.org; andi@...zian.org;
> mcoquelin.stm32@...il.com; alexandre.torgue@...s.st.com;
> wens@...e.org; jernej.skrabec@...il.com; samuel@...lland.org;
> masahisa.kojima@...aro.org; jaswinder.singh@...aro.org;
> rostedt@...dmis.org; mingo@...hat.com; l.stelmach@...sung.com;
> davem@...emloft.net; edumazet@...gle.com; kuba@...nel.org;
> pabeni@...hat.com; alex.aring@...il.com; stefan@...enfreihafen.org;
> kvalo@...nel.org; james.schulman@...rus.com; david.rhodes@...rus.com;
> tanureal@...nsource.cirrus.com; rf@...nsource.cirrus.com;
> perex@...ex.cz; tiwai@...e.com; npiggin@...il.com;
> christophe.leroy@...roup.eu; mpe@...erman.id.au; oss@...error.net;
> windhl@....com; yangyingliang@...wei.com;
> william.zhang@...adcom.com; kursad.oney@...adcom.com;
> anand.gore@...adcom.com; rafal@...ecki.pl; git (AMD-Xilinx)
> <git@....com>; linux-spi@...r.kernel.org; linux-kernel@...r.kernel.org;
> joel@....id.au; andrew@...id.au; radu_nicolae.pirea@....ro;
> nicolas.ferre@...rochip.com; alexandre.belloni@...tlin.com;
> claudiu.beznea@...rochip.com; bcm-kernel-feedback-list@...adcom.com;
> fancer.lancer@...il.com; kernel@...gutronix.de; festevam@...il.com;
> linux-imx@....com; jbrunet@...libre.com;
> martin.blumenstingl@...glemail.com; avifishman70@...il.com;
> tmaimon77@...il.com; tali.perry1@...il.com; venture@...gle.com;
> yuenn@...gle.com; benjaminfair@...gle.com; yogeshgaur.83@...il.com;
> konrad.dybcio@...ainline.org; alim.akhtar@...sung.com;
> ldewangan@...dia.com; thierry.reding@...il.com; jonathanh@...dia.com;
> Simek, Michal <michal.simek@....com>; linux-aspeed@...ts.ozlabs.org;
> openbmc@...ts.ozlabs.org; linux-arm-kernel@...ts.infradead.org; linux-rpi-
> kernel@...ts.infradead.org; linux-amlogic@...ts.infradead.org; linux-
> mediatek@...ts.infradead.org; linux-arm-msm@...r.kernel.org; linux-
> rockchip@...ts.infradead.org; linux-samsung-soc@...r.kernel.org; linux-
> stm32@...md-mailman.stormreply.com; linux-sunxi@...ts.linux.dev; linux-
> tegra@...r.kernel.org; netdev@...r.kernel.org; linux-
> wpan@...r.kernel.org; libertas-dev@...ts.infradead.org; linux-
> wireless@...r.kernel.org; linux-mtd@...ts.infradead.org; lars@...afoo.de;
> Michael.Hennerich@...log.com; linux-iio@...r.kernel.org;
> michael@...le.cc; palmer@...belt.com; linux-riscv@...ts.infradead.org;
> alsa-devel@...a-project.org; patches@...nsource.cirrus.com; linuxppc-
> dev@...ts.ozlabs.org; amitrkcian2002@...il.com
> Subject: Re: [PATCH V5 09/15] spi: Add stacked and parallel memories
> support in SPI core
>
> Hi,
>
> On Mon, 6 Mar 2023 at 18:26, Amit Kumar Mahapatra <amit.kumar-
> mahapatra@....com> wrote:
> >
> > For supporting multiple CS the SPI device need to be aware of all the
> > CS values. So, the "chip_select" member in the spi_device structure is
> > now an array that holds all the CS values.
> >
> > spi_device structure now has a "cs_index_mask" member. This acts as an
> > index to the chip_select array. If nth bit of spi->cs_index_mask is
> > set then the driver would assert spi->chip_select[n].
> >
> > In parallel mode all the chip selects are asserted/de-asserted
> > simultaneously and each byte of data is stored in both devices, the
> > even bits in one, the odd bits in the other. The split is
> > automatically handled by the GQSPI controller. The GQSPI controller
> > supports a maximum of two flashes connected in parallel mode. A
> > "multi-cs-cap" flag is added in the spi controntroller data, through
> > ctlr->multi-cs-cap the spi core will make sure that the controller is
> > capable of handling multiple chip selects at once.
> >
> > For supporting multiple CS via GPIO the cs_gpiod member of the
> > spi_device structure is now an array that holds the gpio descriptor
> > for each chipselect.
> >
> > Multi CS support using GPIO is not tested due to unavailability of
> > necessary hardware setup.
> >
> > Signed-off-by: Amit Kumar Mahapatra <amit.kumar-
> mahapatra@....com>
> > ---
> > drivers/spi/spi.c | 213 +++++++++++++++++++++++++++-------------
> > include/linux/spi/spi.h | 34 +++++--
> > 2 files changed, 173 insertions(+), 74 deletions(-)
> >
> > diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c index
> > 5866bf5813a4..8ec7f58fa111 100644
> > --- a/drivers/spi/spi.c
> > +++ b/drivers/spi/spi.c
> > @@ -613,7 +613,8 @@ static int spi_dev_check(struct device *dev, void
> *data)
> > struct spi_device *new_spi = data;
> >
> > if (spi->controller == new_spi->controller &&
> > - spi_get_chipselect(spi, 0) == spi_get_chipselect(new_spi, 0))
> > + spi_get_chipselect(spi, 0) == spi_get_chipselect(new_spi, 0) &&
> > + spi_get_chipselect(spi, 1) == spi_get_chipselect(new_spi,
> > + 1))
> > return -EBUSY;
>
> This will only reject new devices if both chip selects are identical, but not if
> they only share one, e.g. CS 1 + 2 vs 1 + 3, or 1 + 2 vs only 2, or if the order is
> different (1 + 2 vs 2 + 1 - haven't read the code too close to know if this is
> allowed/possible).
Agreed, will add in the next series.
Regards,
Amit
>
> Regards,
> Jonas
Powered by blists - more mailing lists