mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-17 09:43:59 +08:00
mmc: renesas_sdhi: remove whitelist for internal DMAC
We know now that there won't be Gen3 SoCs with both, SYS-DMAC and internal DMAC. We removed the blacklisting for SYS-DMAC already, so we can remove the whitelisting for internal DMAC, too. This makes adding new SoCs easier. We keep the quirk handling, of course. Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> Link: https://lore.kernel.org/r/20191203194859.917-1-wsa@the-dreams.de Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
parent
fdbbe6cf6d
commit
a0fb3fc8af
@ -298,38 +298,23 @@ static const struct tmio_mmc_dma_ops renesas_sdhi_internal_dmac_dma_ops = {
|
|||||||
* Whitelist of specific R-Car Gen3 SoC ES versions to use this DMAC
|
* Whitelist of specific R-Car Gen3 SoC ES versions to use this DMAC
|
||||||
* implementation as others may use a different implementation.
|
* implementation as others may use a different implementation.
|
||||||
*/
|
*/
|
||||||
static const struct soc_device_attribute soc_whitelist[] = {
|
static const struct soc_device_attribute soc_dma_quirks[] = {
|
||||||
/* specific ones */
|
|
||||||
{ .soc_id = "r7s9210",
|
{ .soc_id = "r7s9210",
|
||||||
.data = (void *)BIT(SDHI_INTERNAL_DMAC_ADDR_MODE_FIXED_ONLY) },
|
.data = (void *)BIT(SDHI_INTERNAL_DMAC_ADDR_MODE_FIXED_ONLY) },
|
||||||
{ .soc_id = "r8a7795", .revision = "ES1.*",
|
{ .soc_id = "r8a7795", .revision = "ES1.*",
|
||||||
.data = (void *)BIT(SDHI_INTERNAL_DMAC_ONE_RX_ONLY) },
|
.data = (void *)BIT(SDHI_INTERNAL_DMAC_ONE_RX_ONLY) },
|
||||||
{ .soc_id = "r8a7796", .revision = "ES1.0",
|
{ .soc_id = "r8a7796", .revision = "ES1.0",
|
||||||
.data = (void *)BIT(SDHI_INTERNAL_DMAC_ONE_RX_ONLY) },
|
.data = (void *)BIT(SDHI_INTERNAL_DMAC_ONE_RX_ONLY) },
|
||||||
/* generic ones */
|
|
||||||
{ .soc_id = "r8a774a1" },
|
|
||||||
{ .soc_id = "r8a774b1" },
|
|
||||||
{ .soc_id = "r8a774c0" },
|
|
||||||
{ .soc_id = "r8a77470" },
|
|
||||||
{ .soc_id = "r8a7795" },
|
|
||||||
{ .soc_id = "r8a7796" },
|
|
||||||
{ .soc_id = "r8a77965" },
|
|
||||||
{ .soc_id = "r8a77970" },
|
|
||||||
{ .soc_id = "r8a77980" },
|
|
||||||
{ .soc_id = "r8a77990" },
|
|
||||||
{ .soc_id = "r8a77995" },
|
|
||||||
{ /* sentinel */ }
|
{ /* sentinel */ }
|
||||||
};
|
};
|
||||||
|
|
||||||
static int renesas_sdhi_internal_dmac_probe(struct platform_device *pdev)
|
static int renesas_sdhi_internal_dmac_probe(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
const struct soc_device_attribute *soc = soc_device_match(soc_whitelist);
|
const struct soc_device_attribute *soc = soc_device_match(soc_dma_quirks);
|
||||||
struct device *dev = &pdev->dev;
|
struct device *dev = &pdev->dev;
|
||||||
|
|
||||||
if (!soc)
|
if (soc)
|
||||||
return -ENODEV;
|
global_flags |= (unsigned long)soc->data;
|
||||||
|
|
||||||
global_flags |= (unsigned long)soc->data;
|
|
||||||
|
|
||||||
dev->dma_parms = devm_kzalloc(dev, sizeof(*dev->dma_parms), GFP_KERNEL);
|
dev->dma_parms = devm_kzalloc(dev, sizeof(*dev->dma_parms), GFP_KERNEL);
|
||||||
if (!dev->dma_parms)
|
if (!dev->dma_parms)
|
||||||
|
Loading…
Reference in New Issue
Block a user