[v2,2/2] mtd: rawnand: stm32_fmc2: use timings.mode instead of checking tRC_min

Message ID 20230327094742.38856-3-christophe.kerello@foss.st.com
State New
Headers
Series mtd: rawnand: stm32_fmc2: do not support EDO mode |

Commit Message

Christophe Kerello March 27, 2023, 9:47 a.m. UTC
  This patch is using timings.mode value instead of checking tRC_min timing
for EDO mode support.

Signed-off-by: Christophe Kerello <christophe.kerello@foss.st.com>
---
 drivers/mtd/nand/raw/stm32_fmc2_nand.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Tudor Ambarus March 27, 2023, 10:30 a.m. UTC | #1
On 3/27/23 10:47, Christophe Kerello wrote:
> This patch is using timings.mode value instead of checking tRC_min timing
> for EDO mode support.
> 

Fixes and Cc to stable here too, as you'd like to have this backported
as well, don't you?

> Signed-off-by: Christophe Kerello <christophe.kerello@foss.st.com>

Reviewed-by: Tudor Ambarus <tudor.ambarus@linaro.org>

> ---
>  drivers/mtd/nand/raw/stm32_fmc2_nand.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/mtd/nand/raw/stm32_fmc2_nand.c b/drivers/mtd/nand/raw/stm32_fmc2_nand.c
> index 3abb63d00a0b..9e74bcd90aaa 100644
> --- a/drivers/mtd/nand/raw/stm32_fmc2_nand.c
> +++ b/drivers/mtd/nand/raw/stm32_fmc2_nand.c
> @@ -1531,7 +1531,7 @@ static int stm32_fmc2_nfc_setup_interface(struct nand_chip *chip, int chipnr,
>  	if (IS_ERR(sdrt))
>  		return PTR_ERR(sdrt);
>  
> -	if (sdrt->tRC_min < 30000)
> +	if (conf->timings.mode > 3)
>  		return -EOPNOTSUPP;
>  
>  	if (chipnr == NAND_DATA_IFACE_CHECK_ONLY)
  
Miquel Raynal March 27, 2023, 10:43 a.m. UTC | #2
Hi Tudor,

tudor.ambarus@linaro.org wrote on Mon, 27 Mar 2023 11:30:51 +0100:

> On 3/27/23 10:47, Christophe Kerello wrote:
> > This patch is using timings.mode value instead of checking tRC_min timing
> > for EDO mode support.
> >   
> 
> Fixes and Cc to stable here too, as you'd like to have this backported
> as well, don't you?

Actually the reason why Christophe split this into two patches is
because timings.mode was introduced rather lately, he wanted the same
patch to apply on all stable kernels, he actually asked for that split
and I agreed (another solution would have been to send this current
patch to Linus and have the other version sent to stable, but it
requires a bit of scheduling on both ends).

Link: https://lore.kernel.org/linux-mtd/20230327101156.0ec2816a@xps-13/T/#t

> 
> > Signed-off-by: Christophe Kerello <christophe.kerello@foss.st.com>  
> 
> Reviewed-by: Tudor Ambarus <tudor.ambarus@linaro.org>
> 
> > ---
> >  drivers/mtd/nand/raw/stm32_fmc2_nand.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/mtd/nand/raw/stm32_fmc2_nand.c b/drivers/mtd/nand/raw/stm32_fmc2_nand.c
> > index 3abb63d00a0b..9e74bcd90aaa 100644
> > --- a/drivers/mtd/nand/raw/stm32_fmc2_nand.c
> > +++ b/drivers/mtd/nand/raw/stm32_fmc2_nand.c
> > @@ -1531,7 +1531,7 @@ static int stm32_fmc2_nfc_setup_interface(struct nand_chip *chip, int chipnr,
> >  	if (IS_ERR(sdrt))
> >  		return PTR_ERR(sdrt);
> >  
> > -	if (sdrt->tRC_min < 30000)
> > +	if (conf->timings.mode > 3)
> >  		return -EOPNOTSUPP;
> >  
> >  	if (chipnr == NAND_DATA_IFACE_CHECK_ONLY)  


Thanks,
Miquèl
  
Tudor Ambarus March 27, 2023, 11:06 a.m. UTC | #3
On 3/27/23 11:43, Miquel Raynal wrote:
> Hi Tudor,
> 
> tudor.ambarus@linaro.org wrote on Mon, 27 Mar 2023 11:30:51 +0100:
> 
>> On 3/27/23 10:47, Christophe Kerello wrote:
>>> This patch is using timings.mode value instead of checking tRC_min timing
>>> for EDO mode support.
>>>   
>>
>> Fixes and Cc to stable here too, as you'd like to have this backported
>> as well, don't you?
> 
> Actually the reason why Christophe split this into two patches is
> because timings.mode was introduced rather lately, he wanted the same
> patch to apply on all stable kernels, he actually asked for that split
> and I agreed (another solution would have been to send this current
> patch to Linus and have the other version sent to stable, but it
> requires a bit of scheduling on both ends).
> 
> Link: https://lore.kernel.org/linux-mtd/20230327101156.0ec2816a@xps-13/T/#t

Right, I understood that from the beginning. If it were to me, I would
Cc: stable@vger.kernel.org #v5.4+ for the first patch and
Cc: stable@vger.kernel.org #v5.10+ for the second.

So first would be alone just in v5.4, and starting with v5.10 we'll have
both and we'll mimic what we currently have in upstream mainline.

> 
>>
>>> Signed-off-by: Christophe Kerello <christophe.kerello@foss.st.com>  
>>
>> Reviewed-by: Tudor Ambarus <tudor.ambarus@linaro.org>
>>
>>> ---
>>>  drivers/mtd/nand/raw/stm32_fmc2_nand.c | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/mtd/nand/raw/stm32_fmc2_nand.c b/drivers/mtd/nand/raw/stm32_fmc2_nand.c
>>> index 3abb63d00a0b..9e74bcd90aaa 100644
>>> --- a/drivers/mtd/nand/raw/stm32_fmc2_nand.c
>>> +++ b/drivers/mtd/nand/raw/stm32_fmc2_nand.c
>>> @@ -1531,7 +1531,7 @@ static int stm32_fmc2_nfc_setup_interface(struct nand_chip *chip, int chipnr,
>>>  	if (IS_ERR(sdrt))
>>>  		return PTR_ERR(sdrt);
>>>  
>>> -	if (sdrt->tRC_min < 30000)
>>> +	if (conf->timings.mode > 3)
>>>  		return -EOPNOTSUPP;
>>>  
>>>  	if (chipnr == NAND_DATA_IFACE_CHECK_ONLY)  
> 
> 
> Thanks,
> Miquèl
  
Christophe Kerello March 28, 2023, 7:27 a.m. UTC | #4
Hello Miquel,

On 3/27/23 13:06, Tudor Ambarus wrote:
> 
> 
> On 3/27/23 11:43, Miquel Raynal wrote:
>> Hi Tudor,
>>
>> tudor.ambarus@linaro.org wrote on Mon, 27 Mar 2023 11:30:51 +0100:
>>
>>> On 3/27/23 10:47, Christophe Kerello wrote:
>>>> This patch is using timings.mode value instead of checking tRC_min timing
>>>> for EDO mode support.
>>>>    
>>>
>>> Fixes and Cc to stable here too, as you'd like to have this backported
>>> as well, don't you?
>>
>> Actually the reason why Christophe split this into two patches is
>> because timings.mode was introduced rather lately, he wanted the same
>> patch to apply on all stable kernels, he actually asked for that split
>> and I agreed (another solution would have been to send this current
>> patch to Linus and have the other version sent to stable, but it
>> requires a bit of scheduling on both ends).
>>
>> Link: https://lore.kernel.org/linux-mtd/20230327101156.0ec2816a@xps-13/T/#t
> 
> Right, I understood that from the beginning. If it were to me, I would
> Cc: stable@vger.kernel.org #v5.4+ for the first patch and
> Cc: stable@vger.kernel.org #v5.10+ for the second.
> 
> So first would be alone just in v5.4, and starting with v5.10 we'll have
> both and we'll mimic what we currently have in upstream mainline.
> 

I can send a V3 with cc tag added as per Tudor's suggestion.
Or cc tag will be added when the patches will be applied?

Regards,
Christophe Kerello.

>>
>>>
>>>> Signed-off-by: Christophe Kerello <christophe.kerello@foss.st.com>
>>>
>>> Reviewed-by: Tudor Ambarus <tudor.ambarus@linaro.org>
>>>
>>>> ---
>>>>   drivers/mtd/nand/raw/stm32_fmc2_nand.c | 2 +-
>>>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>>>
>>>> diff --git a/drivers/mtd/nand/raw/stm32_fmc2_nand.c b/drivers/mtd/nand/raw/stm32_fmc2_nand.c
>>>> index 3abb63d00a0b..9e74bcd90aaa 100644
>>>> --- a/drivers/mtd/nand/raw/stm32_fmc2_nand.c
>>>> +++ b/drivers/mtd/nand/raw/stm32_fmc2_nand.c
>>>> @@ -1531,7 +1531,7 @@ static int stm32_fmc2_nfc_setup_interface(struct nand_chip *chip, int chipnr,
>>>>   	if (IS_ERR(sdrt))
>>>>   		return PTR_ERR(sdrt);
>>>>   
>>>> -	if (sdrt->tRC_min < 30000)
>>>> +	if (conf->timings.mode > 3)
>>>>   		return -EOPNOTSUPP;
>>>>   
>>>>   	if (chipnr == NAND_DATA_IFACE_CHECK_ONLY)
>>
>>
>> Thanks,
>> Miquèl
  
Miquel Raynal March 28, 2023, 7:56 a.m. UTC | #5
Hi Christophe,

christophe.kerello@foss.st.com wrote on Tue, 28 Mar 2023 09:27:55 +0200:

> Hello Miquel,
> 
> On 3/27/23 13:06, Tudor Ambarus wrote:
> > 
> > 
> > On 3/27/23 11:43, Miquel Raynal wrote:  
> >> Hi Tudor,
> >>
> >> tudor.ambarus@linaro.org wrote on Mon, 27 Mar 2023 11:30:51 +0100:
> >>  
> >>> On 3/27/23 10:47, Christophe Kerello wrote:  
> >>>> This patch is using timings.mode value instead of checking tRC_min timing
> >>>> for EDO mode support.  
> >>>>    >>>  
> >>> Fixes and Cc to stable here too, as you'd like to have this backported
> >>> as well, don't you?  
> >>
> >> Actually the reason why Christophe split this into two patches is
> >> because timings.mode was introduced rather lately, he wanted the same
> >> patch to apply on all stable kernels, he actually asked for that split
> >> and I agreed (another solution would have been to send this current
> >> patch to Linus and have the other version sent to stable, but it
> >> requires a bit of scheduling on both ends).
> >>
> >> Link: https://lore.kernel.org/linux-mtd/20230327101156.0ec2816a@xps-13/T/#t  
> > 
> > Right, I understood that from the beginning. If it were to me, I would
> > Cc: stable@vger.kernel.org #v5.4+ for the first patch and
> > Cc: stable@vger.kernel.org #v5.10+ for the second.
> > 
> > So first would be alone just in v5.4, and starting with v5.10 we'll have
> > both and we'll mimic what we currently have in upstream mainline.
> >   
> 
> I can send a V3 with cc tag added as per Tudor's suggestion.
> Or cc tag will be added when the patches will be applied?

I'll handle it, no problem. Is it fine if I send this as part of the
next merge window or do you expect this fix to be applied earlier? I
just sent my fixes PR on Monday morning.

> 
> Regards,
> Christophe Kerello.
> 
> >>  
> >>>  
> >>>> Signed-off-by: Christophe Kerello <christophe.kerello@foss.st.com>  
> >>>
> >>> Reviewed-by: Tudor Ambarus <tudor.ambarus@linaro.org>
> >>>  
> >>>> ---
> >>>>   drivers/mtd/nand/raw/stm32_fmc2_nand.c | 2 +-
> >>>>   1 file changed, 1 insertion(+), 1 deletion(-)
> >>>>
> >>>> diff --git a/drivers/mtd/nand/raw/stm32_fmc2_nand.c b/drivers/mtd/nand/raw/stm32_fmc2_nand.c
> >>>> index 3abb63d00a0b..9e74bcd90aaa 100644
> >>>> --- a/drivers/mtd/nand/raw/stm32_fmc2_nand.c
> >>>> +++ b/drivers/mtd/nand/raw/stm32_fmc2_nand.c
> >>>> @@ -1531,7 +1531,7 @@ static int stm32_fmc2_nfc_setup_interface(struct nand_chip *chip, int chipnr,
> >>>>   	if (IS_ERR(sdrt))
> >>>>   		return PTR_ERR(sdrt);  
> >>>>   >>>> -	if (sdrt->tRC_min < 30000)  
> >>>> +	if (conf->timings.mode > 3)
> >>>>   		return -EOPNOTSUPP;  
> >>>>   >>>>   	if (chipnr == NAND_DATA_IFACE_CHECK_ONLY)  
> >>
> >>
> >> Thanks,
> >> Miquèl  


Thanks,
Miquèl
  
Christophe Kerello March 28, 2023, 9:38 a.m. UTC | #6
Hi Miquel,

On 3/28/23 09:56, Miquel Raynal wrote:
> Hi Christophe,
> 
> christophe.kerello@foss.st.com wrote on Tue, 28 Mar 2023 09:27:55 +0200:
> 
>> Hello Miquel,
>>
>> On 3/27/23 13:06, Tudor Ambarus wrote:
>>>
>>>
>>> On 3/27/23 11:43, Miquel Raynal wrote:
>>>> Hi Tudor,
>>>>
>>>> tudor.ambarus@linaro.org wrote on Mon, 27 Mar 2023 11:30:51 +0100:
>>>>   
>>>>> On 3/27/23 10:47, Christophe Kerello wrote:
>>>>>> This patch is using timings.mode value instead of checking tRC_min timing
>>>>>> for EDO mode support.
>>>>>>     >>>
>>>>> Fixes and Cc to stable here too, as you'd like to have this backported
>>>>> as well, don't you?
>>>>
>>>> Actually the reason why Christophe split this into two patches is
>>>> because timings.mode was introduced rather lately, he wanted the same
>>>> patch to apply on all stable kernels, he actually asked for that split
>>>> and I agreed (another solution would have been to send this current
>>>> patch to Linus and have the other version sent to stable, but it
>>>> requires a bit of scheduling on both ends).
>>>>
>>>> Link: https://lore.kernel.org/linux-mtd/20230327101156.0ec2816a@xps-13/T/#t
>>>
>>> Right, I understood that from the beginning. If it were to me, I would
>>> Cc: stable@vger.kernel.org #v5.4+ for the first patch and
>>> Cc: stable@vger.kernel.org #v5.10+ for the second.
>>>
>>> So first would be alone just in v5.4, and starting with v5.10 we'll have
>>> both and we'll mimic what we currently have in upstream mainline.
>>>    
>>
>> I can send a V3 with cc tag added as per Tudor's suggestion.
>> Or cc tag will be added when the patches will be applied?
> 
> I'll handle it, no problem. Is it fine if I send this as part of the
> next merge window or do you expect this fix to be applied earlier? I
> just sent my fixes PR on Monday morning.
> 

Yes, it is fine. This patch set can be applied on next merge window.

Regards,
Christophe Kerello.

>>
>> Regards,
>> Christophe Kerello.
>>
>>>>   
>>>>>   
>>>>>> Signed-off-by: Christophe Kerello <christophe.kerello@foss.st.com>
>>>>>
>>>>> Reviewed-by: Tudor Ambarus <tudor.ambarus@linaro.org>
>>>>>   
>>>>>> ---
>>>>>>    drivers/mtd/nand/raw/stm32_fmc2_nand.c | 2 +-
>>>>>>    1 file changed, 1 insertion(+), 1 deletion(-)
>>>>>>
>>>>>> diff --git a/drivers/mtd/nand/raw/stm32_fmc2_nand.c b/drivers/mtd/nand/raw/stm32_fmc2_nand.c
>>>>>> index 3abb63d00a0b..9e74bcd90aaa 100644
>>>>>> --- a/drivers/mtd/nand/raw/stm32_fmc2_nand.c
>>>>>> +++ b/drivers/mtd/nand/raw/stm32_fmc2_nand.c
>>>>>> @@ -1531,7 +1531,7 @@ static int stm32_fmc2_nfc_setup_interface(struct nand_chip *chip, int chipnr,
>>>>>>    	if (IS_ERR(sdrt))
>>>>>>    		return PTR_ERR(sdrt);
>>>>>>    >>>> -	if (sdrt->tRC_min < 30000)
>>>>>> +	if (conf->timings.mode > 3)
>>>>>>    		return -EOPNOTSUPP;
>>>>>>    >>>>   	if (chipnr == NAND_DATA_IFACE_CHECK_ONLY)
>>>>
>>>>
>>>> Thanks,
>>>> Miquèl
> 
> 
> Thanks,
> Miquèl
  
Miquel Raynal March 28, 2023, 2:01 p.m. UTC | #7
Hi Christophe,

christophe.kerello@foss.st.com wrote on Tue, 28 Mar 2023 09:27:55 +0200:

> Hello Miquel,
> 
> On 3/27/23 13:06, Tudor Ambarus wrote:
> > 
> > 
> > On 3/27/23 11:43, Miquel Raynal wrote:  
> >> Hi Tudor,
> >>
> >> tudor.ambarus@linaro.org wrote on Mon, 27 Mar 2023 11:30:51 +0100:
> >>  
> >>> On 3/27/23 10:47, Christophe Kerello wrote:  
> >>>> This patch is using timings.mode value instead of checking tRC_min timing
> >>>> for EDO mode support.  
> >>>>    >>>  
> >>> Fixes and Cc to stable here too, as you'd like to have this backported
> >>> as well, don't you?  
> >>
> >> Actually the reason why Christophe split this into two patches is
> >> because timings.mode was introduced rather lately, he wanted the same
> >> patch to apply on all stable kernels, he actually asked for that split
> >> and I agreed (another solution would have been to send this current
> >> patch to Linus and have the other version sent to stable, but it
> >> requires a bit of scheduling on both ends).
> >>
> >> Link: https://lore.kernel.org/linux-mtd/20230327101156.0ec2816a@xps-13/T/#t  
> > 
> > Right, I understood that from the beginning. If it were to me, I would
> > Cc: stable@vger.kernel.org #v5.4+ for the first patch and
> > Cc: stable@vger.kernel.org #v5.10+ for the second.
> > 
> > So first would be alone just in v5.4, and starting with v5.10 we'll have
> > both and we'll mimic what we currently have in upstream mainline.
> >   
> 
> I can send a V3 with cc tag added as per Tudor's suggestion.
> Or cc tag will be added when the patches will be applied?

Actually I have other fixes to queue early next week, so can you please
send a v3 with the tags discussed with Tudor?

Thanks,
Miquèl
  

Patch

diff --git a/drivers/mtd/nand/raw/stm32_fmc2_nand.c b/drivers/mtd/nand/raw/stm32_fmc2_nand.c
index 3abb63d00a0b..9e74bcd90aaa 100644
--- a/drivers/mtd/nand/raw/stm32_fmc2_nand.c
+++ b/drivers/mtd/nand/raw/stm32_fmc2_nand.c
@@ -1531,7 +1531,7 @@  static int stm32_fmc2_nfc_setup_interface(struct nand_chip *chip, int chipnr,
 	if (IS_ERR(sdrt))
 		return PTR_ERR(sdrt);
 
-	if (sdrt->tRC_min < 30000)
+	if (conf->timings.mode > 3)
 		return -EOPNOTSUPP;
 
 	if (chipnr == NAND_DATA_IFACE_CHECK_ONLY)