mbox series

[v7,0/4] Support EFI partition on NVIDIA Tegra devices

Message ID 20210820004536.15791-1-digetx@gmail.com (mailing list archive)
Headers show
Series Support EFI partition on NVIDIA Tegra devices | expand

Message

Dmitry Osipenko Aug. 20, 2021, 12:45 a.m. UTC
This series adds the most minimal EFI partition support for NVIDIA Tegra
consumer devices, like Android tablets and game consoles, making theirs
eMMC accessible out-of-the-box using downstream bootloader and mainline
Linux kernel.  eMMC now works on Acer A500 tablet and Ouya game console
that are already well supported in mainline and internal storage is the
only biggest thing left to support.

Changelog:

v7: - Added r-b from Christoph Hellwig.

    - Added ack from Davidlohr Bueso.

    - Renamed MMC_CAP2_ALT_GPT_SECTOR to MMC_CAP2_ALT_GPT_TEGRA,
      like it was suggested by Ulf Hansson and Thierry Reding.

    - Squashed MMC raw_boot_mult patch into alternative_gpt_sector()
      since both now belong to MMC core and it's cleaner to have them
      in a single change.

v6: - Added comment for the alternative_gpt_sector() callback, which
      was asked by Christoph Hellwig.

    - Changed alternative_gpt_sector() to take disk for the argument
      instead of blkdev. This was asked by Christoph Hellwig.

    - Dropped mmc_bdops check as it was suggested by Christoph Hellwig.

    - Added missing mmc_blk_put() that was spotted by Christoph Hellwig.

    - Moved GPT calculation into MMC core and added MMC_CAP2_ALT_GPT_SECTOR
      flag, like it was asked by Ulf Hansson. Me and Thierry have concerns
      about whether it's better to have Tegra-specific function in a core
      instead of Tegra driver, but it also works, so I decided to try that
      variant.

v5: - Implemented alternative_gpt_sector() blk/mmc callback that was
      suggested by Christoph Hellwig in a comment to v4.

    - mmc_bdev_to_card() now checks blk fops instead of the major number,
      like it was suggested by Christoph Hellwig in a comment to v4.

    - Emailed Rob Herring, which was asked by Ulf Hansson in a comment
      to v4. Although the of-match change is gone now in v5, the matching
      is transformed into the new SDHCI quirk of the Tegra driver.

v4: - Rebased on top of recent linux-next.

v3: - Removed unnecessary v1 hunk that was left by accident in efi.c of v2.

v2: - This is continuation of [1] where Davidlohr Bueso suggested that it
      should be better to avoid supporting in mainline the custom gpt_sector
      kernel cmdline parameter that downstream Android kernels use.  We can
      do this for the devices that are already mainlined, so I dropped the
      cmdline from the v2 and left only the variant with a fixed GPT address.

[1] https://lore.kernel.org/linux-efi/20210327212100.3834-3-digetx@gmail.com/T/

Dmitry Osipenko (4):
  block: Add alternative_gpt_sector() operation
  partitions/efi: Support non-standard GPT location
  mmc: block: Support alternative_gpt_sector() operation
  mmc: sdhci-tegra: Enable MMC_CAP2_ALT_GPT_TEGRA

 block/partitions/efi.c         | 12 ++++++++++++
 drivers/mmc/core/block.c       | 21 ++++++++++++++++++++
 drivers/mmc/core/core.c        | 35 ++++++++++++++++++++++++++++++++++
 drivers/mmc/core/core.h        |  2 ++
 drivers/mmc/core/mmc.c         |  2 ++
 drivers/mmc/host/sdhci-tegra.c |  9 +++++++++
 include/linux/blkdev.h         |  7 +++++++
 include/linux/mmc/card.h       |  1 +
 include/linux/mmc/host.h       |  1 +
 9 files changed, 90 insertions(+)

Comments

Ulf Hansson Aug. 24, 2021, 8:48 a.m. UTC | #1
On Fri, 20 Aug 2021 at 02:45, Dmitry Osipenko <digetx@gmail.com> wrote:
>
> This series adds the most minimal EFI partition support for NVIDIA Tegra
> consumer devices, like Android tablets and game consoles, making theirs
> eMMC accessible out-of-the-box using downstream bootloader and mainline
> Linux kernel.  eMMC now works on Acer A500 tablet and Ouya game console
> that are already well supported in mainline and internal storage is the
> only biggest thing left to support.
>
> Changelog:
>
> v7: - Added r-b from Christoph Hellwig.
>
>     - Added ack from Davidlohr Bueso.
>
>     - Renamed MMC_CAP2_ALT_GPT_SECTOR to MMC_CAP2_ALT_GPT_TEGRA,
>       like it was suggested by Ulf Hansson and Thierry Reding.
>
>     - Squashed MMC raw_boot_mult patch into alternative_gpt_sector()
>       since both now belong to MMC core and it's cleaner to have them
>       in a single change.

Jens, these changes looks good to me. If you have no objections, feel
free to queue them via your tree (I don't think there will be any
conflicts with my mmc tree).

For the series:
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>

Kind regards
Uffe

>
> v6: - Added comment for the alternative_gpt_sector() callback, which
>       was asked by Christoph Hellwig.
>
>     - Changed alternative_gpt_sector() to take disk for the argument
>       instead of blkdev. This was asked by Christoph Hellwig.
>
>     - Dropped mmc_bdops check as it was suggested by Christoph Hellwig.
>
>     - Added missing mmc_blk_put() that was spotted by Christoph Hellwig.
>
>     - Moved GPT calculation into MMC core and added MMC_CAP2_ALT_GPT_SECTOR
>       flag, like it was asked by Ulf Hansson. Me and Thierry have concerns
>       about whether it's better to have Tegra-specific function in a core
>       instead of Tegra driver, but it also works, so I decided to try that
>       variant.
>
> v5: - Implemented alternative_gpt_sector() blk/mmc callback that was
>       suggested by Christoph Hellwig in a comment to v4.
>
>     - mmc_bdev_to_card() now checks blk fops instead of the major number,
>       like it was suggested by Christoph Hellwig in a comment to v4.
>
>     - Emailed Rob Herring, which was asked by Ulf Hansson in a comment
>       to v4. Although the of-match change is gone now in v5, the matching
>       is transformed into the new SDHCI quirk of the Tegra driver.
>
> v4: - Rebased on top of recent linux-next.
>
> v3: - Removed unnecessary v1 hunk that was left by accident in efi.c of v2.
>
> v2: - This is continuation of [1] where Davidlohr Bueso suggested that it
>       should be better to avoid supporting in mainline the custom gpt_sector
>       kernel cmdline parameter that downstream Android kernels use.  We can
>       do this for the devices that are already mainlined, so I dropped the
>       cmdline from the v2 and left only the variant with a fixed GPT address.
>
> [1] https://lore.kernel.org/linux-efi/20210327212100.3834-3-digetx@gmail.com/T/
>
> Dmitry Osipenko (4):
>   block: Add alternative_gpt_sector() operation
>   partitions/efi: Support non-standard GPT location
>   mmc: block: Support alternative_gpt_sector() operation
>   mmc: sdhci-tegra: Enable MMC_CAP2_ALT_GPT_TEGRA
>
>  block/partitions/efi.c         | 12 ++++++++++++
>  drivers/mmc/core/block.c       | 21 ++++++++++++++++++++
>  drivers/mmc/core/core.c        | 35 ++++++++++++++++++++++++++++++++++
>  drivers/mmc/core/core.h        |  2 ++
>  drivers/mmc/core/mmc.c         |  2 ++
>  drivers/mmc/host/sdhci-tegra.c |  9 +++++++++
>  include/linux/blkdev.h         |  7 +++++++
>  include/linux/mmc/card.h       |  1 +
>  include/linux/mmc/host.h       |  1 +
>  9 files changed, 90 insertions(+)
>
> --
> 2.32.0
>
Jens Axboe Aug. 24, 2021, 4:09 p.m. UTC | #2
On 8/24/21 2:48 AM, Ulf Hansson wrote:
> On Fri, 20 Aug 2021 at 02:45, Dmitry Osipenko <digetx@gmail.com> wrote:
>>
>> This series adds the most minimal EFI partition support for NVIDIA Tegra
>> consumer devices, like Android tablets and game consoles, making theirs
>> eMMC accessible out-of-the-box using downstream bootloader and mainline
>> Linux kernel.  eMMC now works on Acer A500 tablet and Ouya game console
>> that are already well supported in mainline and internal storage is the
>> only biggest thing left to support.
>>
>> Changelog:
>>
>> v7: - Added r-b from Christoph Hellwig.
>>
>>     - Added ack from Davidlohr Bueso.
>>
>>     - Renamed MMC_CAP2_ALT_GPT_SECTOR to MMC_CAP2_ALT_GPT_TEGRA,
>>       like it was suggested by Ulf Hansson and Thierry Reding.
>>
>>     - Squashed MMC raw_boot_mult patch into alternative_gpt_sector()
>>       since both now belong to MMC core and it's cleaner to have them
>>       in a single change.
> 
> Jens, these changes looks good to me. If you have no objections, feel
> free to queue them via your tree (I don't think there will be any
> conflicts with my mmc tree).
> 
> For the series:
> Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>

Added and queued up, thanks everyone.