diff mbox series

arm64: defconfig: Update UFSHCD for Hi3660 soc

Message ID 20190416170221.13764-1-valentin.schneider@arm.com (mailing list archive)
State Mainlined, archived
Commit 7b3320e6b1795d68b7e30eb3fad0860f2664aedd
Headers show
Series arm64: defconfig: Update UFSHCD for Hi3660 soc | expand

Commit Message

Valentin Schneider April 16, 2019, 5:02 p.m. UTC
Commit 7ee7ef24d02d ("scsi: arm64: defconfig: enable configs for Hisilicon ufs")
set 'CONFIG_SCSI_UFS_HISI=y', but the configs it depends
on

  (CONFIG_SCSI_HFSHCD_PLATFORM && CONFIG_SCSI_UFSHCD)

were left to being built as modules.

Commit 1f4fa50dd48f ("arm64: defconfig: Regenerate for v4.20") "fixed"
that by reverting to 'CONFIG_SCSI_UFS_HISI=m'.

Thing is, if the rootfs is stored in the on-board flash (which
is the "canonical" way of doing things), we either need these drivers
to be built-in, or we need to fiddle with an initramfs to access that
flash and eventually load the modules installed over there.

The former is the easiest, do that.

Signed-off-by: Valentin Schneider <valentin.schneider@arm.com>
---
 arch/arm64/configs/defconfig | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

--
2.20.1

Comments

Leo Yan April 17, 2019, 12:25 a.m. UTC | #1
On Tue, Apr 16, 2019 at 06:02:21PM +0100, Valentin Schneider wrote:
> Commit 7ee7ef24d02d ("scsi: arm64: defconfig: enable configs for Hisilicon ufs")
> set 'CONFIG_SCSI_UFS_HISI=y', but the configs it depends
> on
> 
>   (CONFIG_SCSI_HFSHCD_PLATFORM && CONFIG_SCSI_UFSHCD)
> 
> were left to being built as modules.
> 
> Commit 1f4fa50dd48f ("arm64: defconfig: Regenerate for v4.20") "fixed"
> that by reverting to 'CONFIG_SCSI_UFS_HISI=m'.
> 
> Thing is, if the rootfs is stored in the on-board flash (which
> is the "canonical" way of doing things), we either need these drivers
> to be built-in, or we need to fiddle with an initramfs to access that
> flash and eventually load the modules installed over there.
> 
> The former is the easiest, do that.
> 
> Signed-off-by: Valentin Schneider <valentin.schneider@arm.com>

Looks good to me:

Reviewed-by: Leo Yan <leo.yan@linaro.org>

> ---
>  arch/arm64/configs/defconfig | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
> index 2d9c39033c1a..32fb03503b0b 100644
> --- a/arch/arm64/configs/defconfig
> +++ b/arch/arm64/configs/defconfig
> @@ -222,10 +222,10 @@ CONFIG_BLK_DEV_SD=y
>  CONFIG_SCSI_SAS_ATA=y
>  CONFIG_SCSI_HISI_SAS=y
>  CONFIG_SCSI_HISI_SAS_PCI=y
> -CONFIG_SCSI_UFSHCD=m
> -CONFIG_SCSI_UFSHCD_PLATFORM=m
> +CONFIG_SCSI_UFSHCD=y
> +CONFIG_SCSI_UFSHCD_PLATFORM=y
>  CONFIG_SCSI_UFS_QCOM=m
> -CONFIG_SCSI_UFS_HISI=m
> +CONFIG_SCSI_UFS_HISI=y
>  CONFIG_ATA=y
>  CONFIG_SATA_AHCI=y
>  CONFIG_SATA_AHCI_PLATFORM=y
> --
> 2.20.1
>
Marc Gonzalez April 17, 2019, 8:03 a.m. UTC | #2
On 16/04/2019 19:02, Valentin Schneider wrote:

> Commit 7ee7ef24d02d ("scsi: arm64: defconfig: enable configs for Hisilicon ufs")
> set 'CONFIG_SCSI_UFS_HISI=y', but the configs it depends on
> 
>   (CONFIG_SCSI_HFSHCD_PLATFORM && CONFIG_SCSI_UFSHCD)
> 
> were left to being built as modules.
> 
> Commit 1f4fa50dd48f ("arm64: defconfig: Regenerate for v4.20") "fixed"
> that by reverting to 'CONFIG_SCSI_UFS_HISI=m'.
> 
> Thing is, if the rootfs is stored in the on-board flash (which
> is the "canonical" way of doing things), we either need these drivers
> to be built-in, or we need to fiddle with an initramfs to access that
> flash and eventually load the modules installed over there.
> 
> The former is the easiest, do that.

By that logic, wouldn't every UFS driver need to be built-in?

SCSI_UFS_QCOM
SCSI_UFS_MEDIATEK
SCSI_UFS_HISI

And generalizing, wouldn't every storage driver also need to be built-in?
(SDHC, MMC, USB, MTD, etc)

(FWIW, I dislike Christmas-tree defconfigs.)

Regards.
Valentin Schneider April 17, 2019, 10:09 a.m. UTC | #3
On 17/04/2019 09:03, Marc Gonzalez wrote:
> On 16/04/2019 19:02, Valentin Schneider wrote:
> 
>> Commit 7ee7ef24d02d ("scsi: arm64: defconfig: enable configs for Hisilicon ufs")
>> set 'CONFIG_SCSI_UFS_HISI=y', but the configs it depends on
>>
>>   (CONFIG_SCSI_HFSHCD_PLATFORM && CONFIG_SCSI_UFSHCD)
>>
>> were left to being built as modules.
>>
>> Commit 1f4fa50dd48f ("arm64: defconfig: Regenerate for v4.20") "fixed"
>> that by reverting to 'CONFIG_SCSI_UFS_HISI=m'.
>>
>> Thing is, if the rootfs is stored in the on-board flash (which
>> is the "canonical" way of doing things), we either need these drivers
>> to be built-in, or we need to fiddle with an initramfs to access that
>> flash and eventually load the modules installed over there.
>>
>> The former is the easiest, do that.
> 
> By that logic, wouldn't every UFS driver need to be built-in?
> 
> SCSI_UFS_QCOM
> SCSI_UFS_MEDIATEK
> SCSI_UFS_HISI
> 
> And generalizing, wouldn't every storage driver also need to be built-in?
> (SDHC, MMC, USB, MTD, etc)
> 

Fair point. My reason for sending this out is that the Hikey960 is the
(or at least one of few) board with a recent flagship SoC that runs
mainline (USB support is being worked on the list, but that's about it).

So it's the most relevant board for us folks doing power/perf work
and who'd like to run something less antiquated than 4.9.

I've carried this patch in a local HiKey960 branch for a while now, but
IMO it'd be really nice to be able to compile & run the latest master
without having to worry about extra configs/patches. The Arm Juno is great
in that regard, but its hardware is showing its wrinkles.

True, this is more about convenience that a hard-requirement, but I think
there's an argument to be made for that board.

> (FWIW, I dislike Christmas-tree defconfigs.)
> 
> Regards.
>
Olof Johansson April 29, 2019, 6:19 a.m. UTC | #4
On Wed, Apr 17, 2019 at 10:03:26AM +0200, Marc Gonzalez wrote:
> On 16/04/2019 19:02, Valentin Schneider wrote:
> 
> > Commit 7ee7ef24d02d ("scsi: arm64: defconfig: enable configs for Hisilicon ufs")
> > set 'CONFIG_SCSI_UFS_HISI=y', but the configs it depends on
> > 
> >   (CONFIG_SCSI_HFSHCD_PLATFORM && CONFIG_SCSI_UFSHCD)
> > 
> > were left to being built as modules.
> > 
> > Commit 1f4fa50dd48f ("arm64: defconfig: Regenerate for v4.20") "fixed"
> > that by reverting to 'CONFIG_SCSI_UFS_HISI=m'.
> > 
> > Thing is, if the rootfs is stored in the on-board flash (which
> > is the "canonical" way of doing things), we either need these drivers
> > to be built-in, or we need to fiddle with an initramfs to access that
> > flash and eventually load the modules installed over there.
> > 
> > The former is the easiest, do that.
> 
> By that logic, wouldn't every UFS driver need to be built-in?
> 
> SCSI_UFS_QCOM
> SCSI_UFS_MEDIATEK
> SCSI_UFS_HISI
> 
> And generalizing, wouldn't every storage driver also need to be built-in?
> (SDHC, MMC, USB, MTD, etc)

The general guidance is that storage drivers that known well-supported
platforms need to mount root filesystem from are fine as built-in, but
secondary storage should still be modules.

> (FWIW, I dislike Christmas-tree defconfigs.)

I don't know what you mean with this, but the above is just fine. You should
feel free to use something else than just the defconfig for your system if you
feel it is getting too large for your personal use case.


-Olof
Olof Johansson April 29, 2019, 6:19 a.m. UTC | #5
On Tue, Apr 16, 2019 at 06:02:21PM +0100, Valentin Schneider wrote:
> Commit 7ee7ef24d02d ("scsi: arm64: defconfig: enable configs for Hisilicon ufs")
> set 'CONFIG_SCSI_UFS_HISI=y', but the configs it depends
> on
> 
>   (CONFIG_SCSI_HFSHCD_PLATFORM && CONFIG_SCSI_UFSHCD)
> 
> were left to being built as modules.
> 
> Commit 1f4fa50dd48f ("arm64: defconfig: Regenerate for v4.20") "fixed"
> that by reverting to 'CONFIG_SCSI_UFS_HISI=m'.
> 
> Thing is, if the rootfs is stored in the on-board flash (which
> is the "canonical" way of doing things), we either need these drivers
> to be built-in, or we need to fiddle with an initramfs to access that
> flash and eventually load the modules installed over there.
> 
> The former is the easiest, do that.
> 
> Signed-off-by: Valentin Schneider <valentin.schneider@arm.com>

Applied, thanks!


-Olof
diff mbox series

Patch

diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index 2d9c39033c1a..32fb03503b0b 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -222,10 +222,10 @@  CONFIG_BLK_DEV_SD=y
 CONFIG_SCSI_SAS_ATA=y
 CONFIG_SCSI_HISI_SAS=y
 CONFIG_SCSI_HISI_SAS_PCI=y
-CONFIG_SCSI_UFSHCD=m
-CONFIG_SCSI_UFSHCD_PLATFORM=m
+CONFIG_SCSI_UFSHCD=y
+CONFIG_SCSI_UFSHCD_PLATFORM=y
 CONFIG_SCSI_UFS_QCOM=m
-CONFIG_SCSI_UFS_HISI=m
+CONFIG_SCSI_UFS_HISI=y
 CONFIG_ATA=y
 CONFIG_SATA_AHCI=y
 CONFIG_SATA_AHCI_PLATFORM=y