* [PATCH/RFC v2] mmc: host: renesas_sdhi: Refactor of_device_id.data
@ 2021-06-29 10:20 Yoshihiro Shimoda
2021-06-30 4:41 ` Wolfram Sang
2021-06-30 7:43 ` Wolfram Sang
0 siblings, 2 replies; 5+ messages in thread
From: Yoshihiro Shimoda @ 2021-06-29 10:20 UTC (permalink / raw)
To: ulf.hansson, wsa+renesas
Cc: linux-mmc, linux-renesas-soc, Yoshihiro Shimoda, kernel test robot
Refactor of_device_id.data to avoid increasing numbers of
sdhi_quirks_match[] entry when we add other stable SoCs like
r8a779m*.
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Reported-by: kernel test robot <lkp@intel.com>
---
- We discussed/reviewed sdhi support for r8a779m* [1] before.
- I still marked RFC on this patch because:
-- should I make step-by-step patches to ease review?
-- should I rename the current renesas_sdhi_of_data (e.g. renesas_sdhi_param)?
(renesas_sdhi_of_data and renesas_sdhi_of_data_with_quirks seem strange
a little?)
- I tested this patch on r8a77951 (ES3.0), r8a77960 (ES1.0) and r8a77965.
- Also I tested this patch on r8a7791 [2].
[1]
https://lore.kernel.org/linux-renesas-soc/TY2PR01MB36927B0CCE7C557A3115E481D8079@TY2PR01MB3692.jpnprd01.prod.outlook.com/
[2]
I tested sdhi ch0. But, with and without this patch, sdhi ch2 doesn't work
correctly...
Changes from RFC v1:
- Fix build error in sys_dmac.c, reported by kernel test robot, so that
add Reported-by tag.
- Always set quirks, not using else statement.
- Fix a NULL dereference if of_device_get_match_data() returns NULL.
https://lore.kernel.org/linux-renesas-soc/20210625075508.664674-1-yoshihiro.shimoda.uh@renesas.com/
drivers/mmc/host/renesas_sdhi.h | 5 ++
drivers/mmc/host/renesas_sdhi_core.c | 45 ++---------
drivers/mmc/host/renesas_sdhi_internal_dmac.c | 78 ++++++++++++++++++-
drivers/mmc/host/renesas_sdhi_sys_dmac.c | 24 +++++-
4 files changed, 107 insertions(+), 45 deletions(-)
diff --git a/drivers/mmc/host/renesas_sdhi.h b/drivers/mmc/host/renesas_sdhi.h
index 53eded81a53e..7ef480d56211 100644
--- a/drivers/mmc/host/renesas_sdhi.h
+++ b/drivers/mmc/host/renesas_sdhi.h
@@ -42,6 +42,11 @@ struct renesas_sdhi_quirks {
const u8 (*hs400_calib_table)[SDHI_CALIB_TABLE_MAX];
};
+struct renesas_sdhi_of_data_with_quirks {
+ const struct renesas_sdhi_of_data *of_data;
+ const struct renesas_sdhi_quirks *quirks;
+};
+
struct tmio_mmc_dma {
enum dma_slave_buswidth dma_buswidth;
bool (*filter)(struct dma_chan *chan, void *arg);
diff --git a/drivers/mmc/host/renesas_sdhi_core.c b/drivers/mmc/host/renesas_sdhi_core.c
index e49ca0f7fe9a..8c1b29545e22 100644
--- a/drivers/mmc/host/renesas_sdhi_core.c
+++ b/drivers/mmc/host/renesas_sdhi_core.c
@@ -312,20 +312,6 @@ static const u8 r8a7796_es13_calib_table[2][SDHI_CALIB_TABLE_MAX] = {
12, 17, 18, 18, 18, 18, 18, 18, 18, 19, 20, 21, 22, 23, 25, 25 }
};
-static const u8 r8a77965_calib_table[2][SDHI_CALIB_TABLE_MAX] = {
- { 1, 2, 6, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 15, 15, 16,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, 25, 26, 27, 28, 29, 30, 31 },
- { 2, 3, 4, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17,
- 17, 17, 20, 21, 22, 23, 24, 25, 27, 28, 29, 30, 31, 31, 31, 31 }
-};
-
-static const u8 r8a77990_calib_table[2][SDHI_CALIB_TABLE_MAX] = {
- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
- { 0, 0, 0, 1, 2, 3, 3, 4, 4, 4, 5, 5, 6, 8, 9, 10,
- 11, 12, 13, 15, 16, 17, 17, 18, 18, 19, 20, 22, 24, 25, 26, 26 }
-};
-
static inline u32 sd_scc_read32(struct tmio_mmc_host *host,
struct renesas_sdhi *priv, int addr)
{
@@ -909,29 +895,12 @@ static const struct renesas_sdhi_quirks sdhi_quirks_nohs400 = {
.hs400_disabled = true,
};
-static const struct renesas_sdhi_quirks sdhi_quirks_bad_taps1357 = {
- .hs400_bad_taps = BIT(1) | BIT(3) | BIT(5) | BIT(7),
-};
-
-static const struct renesas_sdhi_quirks sdhi_quirks_bad_taps2367 = {
- .hs400_bad_taps = BIT(2) | BIT(3) | BIT(6) | BIT(7),
-};
-
static const struct renesas_sdhi_quirks sdhi_quirks_r8a7796_es13 = {
.hs400_4taps = true,
.hs400_bad_taps = BIT(2) | BIT(3) | BIT(6) | BIT(7),
.hs400_calib_table = r8a7796_es13_calib_table,
};
-static const struct renesas_sdhi_quirks sdhi_quirks_r8a77965 = {
- .hs400_bad_taps = BIT(2) | BIT(3) | BIT(6) | BIT(7),
- .hs400_calib_table = r8a77965_calib_table,
-};
-
-static const struct renesas_sdhi_quirks sdhi_quirks_r8a77990 = {
- .hs400_calib_table = r8a77990_calib_table,
-};
-
/*
* Note for r8a7796 / r8a774a1: we can't distinguish ES1.1 and 1.2 as of now.
* So, we want to treat them equally and only have a match for ES1.2 to enforce
@@ -941,13 +910,8 @@ static const struct soc_device_attribute sdhi_quirks_match[] = {
{ .soc_id = "r8a774a1", .revision = "ES1.[012]", .data = &sdhi_quirks_4tap_nohs400 },
{ .soc_id = "r8a7795", .revision = "ES1.*", .data = &sdhi_quirks_4tap_nohs400 },
{ .soc_id = "r8a7795", .revision = "ES2.0", .data = &sdhi_quirks_4tap },
- { .soc_id = "r8a7795", .revision = "ES3.*", .data = &sdhi_quirks_bad_taps2367 },
{ .soc_id = "r8a7796", .revision = "ES1.[012]", .data = &sdhi_quirks_4tap_nohs400 },
{ .soc_id = "r8a7796", .revision = "ES1.*", .data = &sdhi_quirks_r8a7796_es13 },
- { .soc_id = "r8a77961", .data = &sdhi_quirks_bad_taps1357 },
- { .soc_id = "r8a77965", .data = &sdhi_quirks_r8a77965 },
- { .soc_id = "r8a77980", .data = &sdhi_quirks_nohs400 },
- { .soc_id = "r8a77990", .data = &sdhi_quirks_r8a77990 },
{ /* Sentinel. */ },
};
@@ -956,7 +920,8 @@ int renesas_sdhi_probe(struct platform_device *pdev,
{
struct tmio_mmc_data *mmd = pdev->dev.platform_data;
const struct renesas_sdhi_quirks *quirks = NULL;
- const struct renesas_sdhi_of_data *of_data;
+ const struct renesas_sdhi_of_data *of_data = NULL;
+ const struct renesas_sdhi_of_data_with_quirks *of_data_quirks;
const struct soc_device_attribute *attr;
struct tmio_mmc_data *mmc_data;
struct tmio_mmc_dma *dma_priv;
@@ -966,7 +931,11 @@ int renesas_sdhi_probe(struct platform_device *pdev,
struct resource *res;
u16 ver;
- of_data = of_device_get_match_data(&pdev->dev);
+ of_data_quirks = of_device_get_match_data(&pdev->dev);
+ if (of_data_quirks) {
+ of_data = of_data_quirks->of_data;
+ quirks = of_data_quirks->quirks;
+ }
attr = soc_device_match(sdhi_quirks_match);
if (attr)
diff --git a/drivers/mmc/host/renesas_sdhi_internal_dmac.c b/drivers/mmc/host/renesas_sdhi_internal_dmac.c
index e8f4863d8f1a..c4bd602dd8cf 100644
--- a/drivers/mmc/host/renesas_sdhi_internal_dmac.c
+++ b/drivers/mmc/host/renesas_sdhi_internal_dmac.c
@@ -92,7 +92,7 @@ static struct renesas_sdhi_scc rcar_gen3_scc_taps[] = {
},
};
-static const struct renesas_sdhi_of_data of_rza2_compatible = {
+static const struct renesas_sdhi_of_data of_data_rza2 = {
.tmio_flags = TMIO_MMC_HAS_IDLE_WAIT | TMIO_MMC_CLK_ACTUAL |
TMIO_MMC_HAVE_CBSY,
.tmio_ocr_mask = MMC_VDD_32_33,
@@ -107,7 +107,11 @@ static const struct renesas_sdhi_of_data of_rza2_compatible = {
.max_segs = 1,
};
-static const struct renesas_sdhi_of_data of_rcar_gen3_compatible = {
+static const struct renesas_sdhi_of_data_with_quirks of_rza2_compatible = {
+ .of_data = &of_data_rza2,
+};
+
+static const struct renesas_sdhi_of_data of_data_rcar_gen3 = {
.tmio_flags = TMIO_MMC_HAS_IDLE_WAIT | TMIO_MMC_CLK_ACTUAL |
TMIO_MMC_HAVE_CBSY | TMIO_MMC_MIN_RCAR2,
.capabilities = MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ |
@@ -122,11 +126,79 @@ static const struct renesas_sdhi_of_data of_rcar_gen3_compatible = {
.max_segs = 1,
};
+static const struct renesas_sdhi_quirks sdhi_quirks_nohs400 = {
+ .hs400_disabled = true,
+};
+
+static const struct renesas_sdhi_quirks sdhi_quirks_bad_taps1357 = {
+ .hs400_bad_taps = BIT(1) | BIT(3) | BIT(5) | BIT(7),
+};
+
+static const struct renesas_sdhi_quirks sdhi_quirks_bad_taps2367 = {
+ .hs400_bad_taps = BIT(2) | BIT(3) | BIT(6) | BIT(7),
+};
+
+static const u8 r8a77965_calib_table[2][SDHI_CALIB_TABLE_MAX] = {
+ { 1, 2, 6, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 15, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 25, 26, 27, 28, 29, 30, 31 },
+ { 2, 3, 4, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+ 17, 17, 20, 21, 22, 23, 24, 25, 27, 28, 29, 30, 31, 31, 31, 31 }
+};
+
+static const u8 r8a77990_calib_table[2][SDHI_CALIB_TABLE_MAX] = {
+ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0, 0, 0, 1, 2, 3, 3, 4, 4, 4, 5, 5, 6, 8, 9, 10,
+ 11, 12, 13, 15, 16, 17, 17, 18, 18, 19, 20, 22, 24, 25, 26, 26 }
+};
+
+static const struct renesas_sdhi_quirks sdhi_quirks_r8a77965 = {
+ .hs400_bad_taps = BIT(2) | BIT(3) | BIT(6) | BIT(7),
+ .hs400_calib_table = r8a77965_calib_table,
+};
+
+static const struct renesas_sdhi_quirks sdhi_quirks_r8a77990 = {
+ .hs400_calib_table = r8a77990_calib_table,
+};
+
+static const struct renesas_sdhi_of_data_with_quirks of_r8a7795_compatible = {
+ .of_data = &of_data_rcar_gen3,
+ .quirks = &sdhi_quirks_bad_taps2367,
+};
+
+static const struct renesas_sdhi_of_data_with_quirks of_r8a77961_compatible = {
+ .of_data = &of_data_rcar_gen3,
+ .quirks = &sdhi_quirks_bad_taps1357,
+};
+
+static const struct renesas_sdhi_of_data_with_quirks of_r8a77965_compatible = {
+ .of_data = &of_data_rcar_gen3,
+ .quirks = &sdhi_quirks_r8a77965,
+};
+
+static const struct renesas_sdhi_of_data_with_quirks of_r8a77980_compatible = {
+ .of_data = &of_data_rcar_gen3,
+ .quirks = &sdhi_quirks_nohs400,
+};
+
+static const struct renesas_sdhi_of_data_with_quirks of_r8a77990_compatible = {
+ .of_data = &of_data_rcar_gen3,
+ .quirks = &sdhi_quirks_r8a77990,
+};
+
+static const struct renesas_sdhi_of_data_with_quirks of_rcar_gen3_compatible = {
+ .of_data = &of_data_rcar_gen3,
+};
+
static const struct of_device_id renesas_sdhi_internal_dmac_of_match[] = {
{ .compatible = "renesas,sdhi-r7s9210", .data = &of_rza2_compatible, },
{ .compatible = "renesas,sdhi-mmc-r8a77470", .data = &of_rcar_gen3_compatible, },
- { .compatible = "renesas,sdhi-r8a7795", .data = &of_rcar_gen3_compatible, },
+ { .compatible = "renesas,sdhi-r8a7795", .data = &of_r8a7795_compatible, },
{ .compatible = "renesas,sdhi-r8a7796", .data = &of_rcar_gen3_compatible, },
+ { .compatible = "renesas,sdhi-r8a77961", .data = &of_r8a77961_compatible, },
+ { .compatible = "renesas,sdhi-r8a77965", .data = &of_r8a77965_compatible, },
+ { .compatible = "renesas,sdhi-r8a77980", .data = &of_r8a77980_compatible, },
+ { .compatible = "renesas,sdhi-r8a77990", .data = &of_r8a77990_compatible, },
{ .compatible = "renesas,rcar-gen3-sdhi", .data = &of_rcar_gen3_compatible, },
{},
};
diff --git a/drivers/mmc/host/renesas_sdhi_sys_dmac.c b/drivers/mmc/host/renesas_sdhi_sys_dmac.c
index ffa64211f4de..3368723ae015 100644
--- a/drivers/mmc/host/renesas_sdhi_sys_dmac.c
+++ b/drivers/mmc/host/renesas_sdhi_sys_dmac.c
@@ -25,11 +25,15 @@
#define TMIO_MMC_MIN_DMA_LEN 8
-static const struct renesas_sdhi_of_data of_default_cfg = {
+static const struct renesas_sdhi_of_data of_data_default_cfg = {
.tmio_flags = TMIO_MMC_HAS_IDLE_WAIT,
};
-static const struct renesas_sdhi_of_data of_rz_compatible = {
+static const struct renesas_sdhi_of_data_with_quirks of_default_cfg = {
+ .of_data = &of_data_default_cfg,
+};
+
+static const struct renesas_sdhi_of_data of_data_rz = {
.tmio_flags = TMIO_MMC_HAS_IDLE_WAIT | TMIO_MMC_32BIT_DATA_PORT |
TMIO_MMC_HAVE_CBSY,
.tmio_ocr_mask = MMC_VDD_32_33,
@@ -37,13 +41,21 @@ static const struct renesas_sdhi_of_data of_rz_compatible = {
MMC_CAP_WAIT_WHILE_BUSY,
};
-static const struct renesas_sdhi_of_data of_rcar_gen1_compatible = {
+static const struct renesas_sdhi_of_data_with_quirks of_rz_compatible = {
+ .of_data = &of_data_rz,
+};
+
+static const struct renesas_sdhi_of_data of_data_rcar_gen1 = {
.tmio_flags = TMIO_MMC_HAS_IDLE_WAIT | TMIO_MMC_CLK_ACTUAL,
.capabilities = MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ |
MMC_CAP_WAIT_WHILE_BUSY,
.capabilities2 = MMC_CAP2_NO_WRITE_PROTECT,
};
+static const struct renesas_sdhi_of_data_with_quirks of_rcar_gen1_compatible = {
+ .of_data = &of_data_rcar_gen1,
+};
+
/* Definitions for sampling clocks */
static struct renesas_sdhi_scc rcar_gen2_scc_taps[] = {
{
@@ -56,7 +68,7 @@ static struct renesas_sdhi_scc rcar_gen2_scc_taps[] = {
},
};
-static const struct renesas_sdhi_of_data of_rcar_gen2_compatible = {
+static const struct renesas_sdhi_of_data of_data_rcar_gen2 = {
.tmio_flags = TMIO_MMC_HAS_IDLE_WAIT | TMIO_MMC_CLK_ACTUAL |
TMIO_MMC_HAVE_CBSY | TMIO_MMC_MIN_RCAR2,
.capabilities = MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ |
@@ -70,6 +82,10 @@ static const struct renesas_sdhi_of_data of_rcar_gen2_compatible = {
.max_blk_count = UINT_MAX / TMIO_MAX_BLK_SIZE,
};
+static const struct renesas_sdhi_of_data_with_quirks of_rcar_gen2_compatible = {
+ .of_data = &of_data_rcar_gen2,
+};
+
static const struct of_device_id renesas_sdhi_sys_dmac_of_match[] = {
{ .compatible = "renesas,sdhi-sh73a0", .data = &of_default_cfg, },
{ .compatible = "renesas,sdhi-r8a73a4", .data = &of_default_cfg, },
--
2.25.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH/RFC v2] mmc: host: renesas_sdhi: Refactor of_device_id.data
2021-06-29 10:20 [PATCH/RFC v2] mmc: host: renesas_sdhi: Refactor of_device_id.data Yoshihiro Shimoda
@ 2021-06-30 4:41 ` Wolfram Sang
2021-06-30 7:10 ` Yoshihiro Shimoda
2021-06-30 7:43 ` Wolfram Sang
1 sibling, 1 reply; 5+ messages in thread
From: Wolfram Sang @ 2021-06-30 4:41 UTC (permalink / raw)
To: Yoshihiro Shimoda
Cc: ulf.hansson, linux-mmc, linux-renesas-soc, kernel test robot
[-- Attachment #1: Type: text/plain, Size: 1537 bytes --]
Hi Shimoda-san,
thank you for taking care of this!
> Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
> Reported-by: kernel test robot <lkp@intel.com>
I think this Rep-by can go. Test bot mentioned one build error of v1,
but it didn't report that we should refactor this code.
> -- should I make step-by-step patches to ease review?
I'd think this is good enough.
> -- should I rename the current renesas_sdhi_of_data (e.g. renesas_sdhi_param)?
> (renesas_sdhi_of_data and renesas_sdhi_of_data_with_quirks seem strange
> a little?)
Yes, this may be a little better. I'd think the current naming is good
enough, though.
> - I tested this patch on r8a77951 (ES3.0), r8a77960 (ES1.0) and r8a77965.
I also tested this on r8a77965.
> - Also I tested this patch on r8a7791 [2].
I'll check r8a7790 later.
> static const struct renesas_sdhi_quirks sdhi_quirks_r8a7796_es13 = {
> .hs400_4taps = true,
> .hs400_bad_taps = BIT(2) | BIT(3) | BIT(6) | BIT(7),
> .hs400_calib_table = r8a7796_es13_calib_table,
> };
You leave the quirk handling of different ES versions still in
renesas_sdhi_core. I'd think this should also be moved to
renesas_sdhi_internal_dmac? Then we have all the handling in one place.
> +static const struct renesas_sdhi_of_data_with_quirks of_r8a7795_compatible = {
> + .of_data = &of_data_rcar_gen3,
> + .quirks = &sdhi_quirks_bad_taps2367,
> +};
I'd suggest only a single space (and not a tabulator) before the "=".
Rest looks good so far!
All the best,
Wolfram
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: [PATCH/RFC v2] mmc: host: renesas_sdhi: Refactor of_device_id.data
2021-06-30 4:41 ` Wolfram Sang
@ 2021-06-30 7:10 ` Yoshihiro Shimoda
2021-06-30 7:34 ` Wolfram Sang
0 siblings, 1 reply; 5+ messages in thread
From: Yoshihiro Shimoda @ 2021-06-30 7:10 UTC (permalink / raw)
To: Wolfram Sang; +Cc: ulf.hansson, linux-mmc, linux-renesas-soc, kernel test robot
Hi Wolfram-san,
> From: Wolfram Sang, Sent: Wednesday, June 30, 2021 1:42 PM
>
> Hi Shimoda-san,
>
> thank you for taking care of this!
Thank you for your review!
> > Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
> > Reported-by: kernel test robot <lkp@intel.com>
>
> I think this Rep-by can go. Test bot mentioned one build error of v1,
> but it didn't report that we should refactor this code.
You're correct. Perhaps, adding "# build fix on RFC" is better?
I checked the commit history, and I found such tags.
> > -- should I make step-by-step patches to ease review?
>
> I'd think this is good enough.
I got it.
> > -- should I rename the current renesas_sdhi_of_data (e.g. renesas_sdhi_param)?
> > (renesas_sdhi_of_data and renesas_sdhi_of_data_with_quirks seem strange
> > a little?)
>
> Yes, this may be a little better. I'd think the current naming is good
> enough, though.
I got it.
> > - I tested this patch on r8a77951 (ES3.0), r8a77960 (ES1.0) and r8a77965.
>
> I also tested this on r8a77965.
Thanks!
> > - Also I tested this patch on r8a7791 [2].
>
> I'll check r8a7790 later.
Thanks!
> > static const struct renesas_sdhi_quirks sdhi_quirks_r8a7796_es13 = {
> > .hs400_4taps = true,
> > .hs400_bad_taps = BIT(2) | BIT(3) | BIT(6) | BIT(7),
> > .hs400_calib_table = r8a7796_es13_calib_table,
> > };
>
> You leave the quirk handling of different ES versions still in
> renesas_sdhi_core. I'd think this should also be moved to
> renesas_sdhi_internal_dmac? Then we have all the handling in one place.
I think so. So, I'll try this.
> > +static const struct renesas_sdhi_of_data_with_quirks of_r8a7795_compatible = {
> > + .of_data = &of_data_rcar_gen3,
> > + .quirks = &sdhi_quirks_bad_taps2367,
> > +};
>
> I'd suggest only a single space (and not a tabulator) before the "=".
I got it.
> Rest looks good so far!
Thank you for your review!
Best regards,
Yoshihiro Shimoda
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH/RFC v2] mmc: host: renesas_sdhi: Refactor of_device_id.data
2021-06-30 7:10 ` Yoshihiro Shimoda
@ 2021-06-30 7:34 ` Wolfram Sang
0 siblings, 0 replies; 5+ messages in thread
From: Wolfram Sang @ 2021-06-30 7:34 UTC (permalink / raw)
To: Yoshihiro Shimoda
Cc: ulf.hansson, linux-mmc, linux-renesas-soc, kernel test robot
[-- Attachment #1: Type: text/plain, Size: 634 bytes --]
Hi Shimoda-san,
> > I think this Rep-by can go. Test bot mentioned one build error of v1,
> > but it didn't report that we should refactor this code.
>
> You're correct. Perhaps, adding "# build fix on RFC" is better?
> I checked the commit history, and I found such tags.
Oh, I didn't know that way. It sounds good!
> > You leave the quirk handling of different ES versions still in
> > renesas_sdhi_core. I'd think this should also be moved to
> > renesas_sdhi_internal_dmac? Then we have all the handling in one place.
>
> I think so. So, I'll try this.
Glad you like it :)
Happy hacking,
Wolfram
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH/RFC v2] mmc: host: renesas_sdhi: Refactor of_device_id.data
2021-06-29 10:20 [PATCH/RFC v2] mmc: host: renesas_sdhi: Refactor of_device_id.data Yoshihiro Shimoda
2021-06-30 4:41 ` Wolfram Sang
@ 2021-06-30 7:43 ` Wolfram Sang
1 sibling, 0 replies; 5+ messages in thread
From: Wolfram Sang @ 2021-06-30 7:43 UTC (permalink / raw)
To: Yoshihiro Shimoda
Cc: ulf.hansson, linux-mmc, linux-renesas-soc, kernel test robot
[-- Attachment #1: Type: text/plain, Size: 313 bytes --]
> [2]
> I tested sdhi ch0. But, with and without this patch, sdhi ch2 doesn't work
> correctly...
Same problem with the Lager board/r8a7790. I suppose this is the same
issue Geert was seeing during his regular tests.
But this has nothing to do with this patch. The probing of the SDHI
instances work fine.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2021-06-30 7:43 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-29 10:20 [PATCH/RFC v2] mmc: host: renesas_sdhi: Refactor of_device_id.data Yoshihiro Shimoda
2021-06-30 4:41 ` Wolfram Sang
2021-06-30 7:10 ` Yoshihiro Shimoda
2021-06-30 7:34 ` Wolfram Sang
2021-06-30 7:43 ` Wolfram Sang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).