Message ID | 20200611054454.2547-1-kdasu.kdev@gmail.com |
---|---|
State | Changes Requested |
Delegated to: | Miquel Raynal |
Headers | show |
Series | [1/2] mtd: rawnand: brcmnand: Don't default to edu transfer | expand |
Hi Kamal, Kamal Dasu <kdasu.kdev@gmail.com> wrote on Thu, 11 Jun 2020 01:44:53 -0400: > When flash-dma is absent do not default to using flash-edu. > Make sure flash-edu is enabled before setting EDU transfer > function. > > Fixes: a5d53ad26a8b ("mtd: rawnand: brcmnand: Add support for flash-edu for dma transfers") > Signed-off-by: Kamal Dasu <kdasu.kdev@gmail.com> > --- > drivers/mtd/nand/raw/brcmnand/brcmnand.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/mtd/nand/raw/brcmnand/brcmnand.c b/drivers/mtd/nand/raw/brcmnand/brcmnand.c > index 8f9ffb46a09f..0c1d6e543586 100644 > --- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c > +++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c > @@ -2953,8 +2953,9 @@ int brcmnand_probe(struct platform_device *pdev, struct brcmnand_soc *soc) > if (ret < 0) > goto err; > > - /* set edu transfer function to call */ > - ctrl->dma_trans = brcmnand_edu_trans; > + if (has_edu(ctrl)) > + /* set edu transfer function to call */ > + ctrl->dma_trans = brcmnand_edu_trans; Does this fallback to returning an error in case !has_edu() ? Othewise, how is it handled? Thanks, Miquèl
On Thu, Jun 11, 2020 at 3:16 AM Miquel Raynal <miquel.raynal@bootlin.com> wrote: > > Hi Kamal, > > Kamal Dasu <kdasu.kdev@gmail.com> wrote on Thu, 11 Jun 2020 01:44:53 > -0400: > > > When flash-dma is absent do not default to using flash-edu. > > Make sure flash-edu is enabled before setting EDU transfer > > function. > > > > Fixes: a5d53ad26a8b ("mtd: rawnand: brcmnand: Add support for flash-edu for dma transfers") > > Signed-off-by: Kamal Dasu <kdasu.kdev@gmail.com> > > --- > > drivers/mtd/nand/raw/brcmnand/brcmnand.c | 5 +++-- > > 1 file changed, 3 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/mtd/nand/raw/brcmnand/brcmnand.c b/drivers/mtd/nand/raw/brcmnand/brcmnand.c > > index 8f9ffb46a09f..0c1d6e543586 100644 > > --- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c > > +++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c > > @@ -2953,8 +2953,9 @@ int brcmnand_probe(struct platform_device *pdev, struct brcmnand_soc *soc) > > if (ret < 0) > > goto err; > > > > - /* set edu transfer function to call */ > > - ctrl->dma_trans = brcmnand_edu_trans; > > + if (has_edu(ctrl)) > > + /* set edu transfer function to call */ > > + ctrl->dma_trans = brcmnand_edu_trans; > > Does this fallback to returning an error in case !has_edu() ? Othewise, > how is it handled? > The driver will default to pio if both flash-dma and falsh-edu are not present. > Thanks, > Miquèl Kamal
Hi Kamal, Kamal Dasu <kdasu.kdev@gmail.com> wrote on Thu, 11 Jun 2020 11:22:56 -0400: > On Thu, Jun 11, 2020 at 3:16 AM Miquel Raynal <miquel.raynal@bootlin.com> wrote: > > > > Hi Kamal, > > > > Kamal Dasu <kdasu.kdev@gmail.com> wrote on Thu, 11 Jun 2020 01:44:53 > > -0400: > > > > > When flash-dma is absent do not default to using flash-edu. > > > Make sure flash-edu is enabled before setting EDU transfer > > > function. > > > > > > Fixes: a5d53ad26a8b ("mtd: rawnand: brcmnand: Add support for flash-edu for dma transfers") > > > Signed-off-by: Kamal Dasu <kdasu.kdev@gmail.com> > > > --- > > > drivers/mtd/nand/raw/brcmnand/brcmnand.c | 5 +++-- > > > 1 file changed, 3 insertions(+), 2 deletions(-) > > > > > > diff --git a/drivers/mtd/nand/raw/brcmnand/brcmnand.c b/drivers/mtd/nand/raw/brcmnand/brcmnand.c > > > index 8f9ffb46a09f..0c1d6e543586 100644 > > > --- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c > > > +++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c > > > @@ -2953,8 +2953,9 @@ int brcmnand_probe(struct platform_device *pdev, struct brcmnand_soc *soc) > > > if (ret < 0) > > > goto err; > > > > > > - /* set edu transfer function to call */ > > > - ctrl->dma_trans = brcmnand_edu_trans; > > > + if (has_edu(ctrl)) > > > + /* set edu transfer function to call */ > > > + ctrl->dma_trans = brcmnand_edu_trans; > > > > Does this fallback to returning an error in case !has_edu() ? Othewise, > > how is it handled? > > > > The driver will default to pio if both flash-dma and falsh-edu are > not present. > > > Thanks, > > Miquèl > > Kamal Ok, thanks for the clarification! Thanks, Miquèl
diff --git a/drivers/mtd/nand/raw/brcmnand/brcmnand.c b/drivers/mtd/nand/raw/brcmnand/brcmnand.c index 8f9ffb46a09f..0c1d6e543586 100644 --- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c +++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c @@ -2953,8 +2953,9 @@ int brcmnand_probe(struct platform_device *pdev, struct brcmnand_soc *soc) if (ret < 0) goto err; - /* set edu transfer function to call */ - ctrl->dma_trans = brcmnand_edu_trans; + if (has_edu(ctrl)) + /* set edu transfer function to call */ + ctrl->dma_trans = brcmnand_edu_trans; } /* Disable automatic device ID config, direct addressing */
When flash-dma is absent do not default to using flash-edu. Make sure flash-edu is enabled before setting EDU transfer function. Fixes: a5d53ad26a8b ("mtd: rawnand: brcmnand: Add support for flash-edu for dma transfers") Signed-off-by: Kamal Dasu <kdasu.kdev@gmail.com> --- drivers/mtd/nand/raw/brcmnand/brcmnand.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)