All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] Support SD UHS for hikey-mainline-rebase
@ 2016-07-19  7:51   ` Jin Guojun
  0 siblings, 0 replies; 16+ messages in thread
From: Jin Guojun @ 2016-07-19  7:51 UTC (permalink / raw)
  To: ulf.hansson, adrian.hunter, jh80.chung, wsa+renesas, arnd,
	rmk+kernel, shawn.lin, linux-mmc, linux-kernel, xuwei5, robh+dt,
	pawel.moll, mark.rutland, ijc+devicetree, galak, catalin.marinas,
	will.deacon, linux-arm-kernel, devicetree, linuxarm,
	suzhuangluan, kongfei, kid.jin

From: j00226943 <j00226943@notesmail.huawei.com>

Two more changes:

Before we send cmd,we need to set CMD bit29 to
1 so that CMD and DATA sent to card through the HOLD Register,
This is the explication in synosys host:To meet the relatively
high Input Hold Time requirement for SDR12, SDR25, and other MMC
speed modes, you should program bit[29]use_hold_Reg of the CMD
register to 1'b1; the output data is then registered again in the
cclk_in_drv domain by using the Hold Register as shown in Path B
of Figure 10-8. However, for the higher speed modes of SDR104, SDR50
and DDR50, you can meet the much smaller Input Hold Time requirement
of 0.8ns by bypassing the Hold Register (Path A in Figure 10-8,
programming CMD.use_hold_reg = 1'b0) and then adding delay elements
on the output path as indicated

We have no tuning function in our drivers,so we must do the
Function piling when we init UHS card.

Signed-off-by: Jin Guojun <kid.jin@hisilicon.com>
---
 drivers/mmc/host/dw_mmc-k3.c | 6 ++++++
 drivers/mmc/host/dw_mmc.c    | 2 ++
 2 files changed, 8 insertions(+)

diff --git a/drivers/mmc/host/dw_mmc-k3.c b/drivers/mmc/host/dw_mmc-k3.c
index 63c2e2e..2cbfcc7 100644
--- a/drivers/mmc/host/dw_mmc-k3.c
+++ b/drivers/mmc/host/dw_mmc-k3.c
@@ -125,10 +125,16 @@ static void dw_mci_hi6220_set_ios(struct dw_mci *host, struct mmc_ios *ios)
 	host->bus_hz = clk_get_rate(host->biu_clk);
 }
 
+static void dw_mci_hi6220_prepare_command(struct dw_mci *host, u32 *cmdr)
+{
+	*cmdr |= SDMMC_CMD_USE_HOLD_REG;
+}
+
 static const struct dw_mci_drv_data hi6220_data = {
 	.switch_voltage		= dw_mci_hi6220_switch_voltage,
 	.set_ios		= dw_mci_hi6220_set_ios,
 	.parse_dt		= dw_mci_hi6220_parse_dt,
+	.prepare_command        = dw_mci_hi6220_prepare_command,
 };
 
 static const struct of_device_id dw_mci_k3_match[] = {
diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
index 9dd1bd3..047e116 100644
--- a/drivers/mmc/host/dw_mmc.c
+++ b/drivers/mmc/host/dw_mmc.c
@@ -1564,6 +1564,8 @@ static int dw_mci_execute_tuning(struct mmc_host *mmc, u32 opcode)
 
 	if (drv_data && drv_data->execute_tuning)
 		err = drv_data->execute_tuning(slot, opcode);
+	else
+		err = 0;
 	return err;
 }
 
-- 
1.8.3.2

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 1/2] Support SD UHS for hikey-mainline-rebase
@ 2016-07-19  7:51   ` Jin Guojun
  0 siblings, 0 replies; 16+ messages in thread
From: Jin Guojun @ 2016-07-19  7:51 UTC (permalink / raw)
  To: ulf.hansson, adrian.hunter, jh80.chung, wsa+renesas, arnd,
	rmk+kernel, shawn.lin, linux-mmc, linux-kernel, xuwei5, robh+dt,
	pawel.moll, mark.rutland, ijc+devicetree, galak, catalin.marinas,
	will.deacon, linux-arm-kernel, devicetree, linuxarm,
	suzhuangluan, kongfei, kid.jin

From: j00226943 <j00226943@notesmail.huawei.com>

Two more changes:

Before we send cmd,we need to set CMD bit29 to
1 so that CMD and DATA sent to card through the HOLD Register,
This is the explication in synosys host:To meet the relatively
high Input Hold Time requirement for SDR12, SDR25, and other MMC
speed modes, you should program bit[29]use_hold_Reg of the CMD
register to 1'b1; the output data is then registered again in the
cclk_in_drv domain by using the Hold Register as shown in Path B
of Figure 10-8. However, for the higher speed modes of SDR104, SDR50
and DDR50, you can meet the much smaller Input Hold Time requirement
of 0.8ns by bypassing the Hold Register (Path A in Figure 10-8,
programming CMD.use_hold_reg = 1'b0) and then adding delay elements
on the output path as indicated

We have no tuning function in our drivers,so we must do the
Function piling when we init UHS card.

Signed-off-by: Jin Guojun <kid.jin@hisilicon.com>
---
 drivers/mmc/host/dw_mmc-k3.c | 6 ++++++
 drivers/mmc/host/dw_mmc.c    | 2 ++
 2 files changed, 8 insertions(+)

diff --git a/drivers/mmc/host/dw_mmc-k3.c b/drivers/mmc/host/dw_mmc-k3.c
index 63c2e2e..2cbfcc7 100644
--- a/drivers/mmc/host/dw_mmc-k3.c
+++ b/drivers/mmc/host/dw_mmc-k3.c
@@ -125,10 +125,16 @@ static void dw_mci_hi6220_set_ios(struct dw_mci *host, struct mmc_ios *ios)
 	host->bus_hz = clk_get_rate(host->biu_clk);
 }
 
+static void dw_mci_hi6220_prepare_command(struct dw_mci *host, u32 *cmdr)
+{
+	*cmdr |= SDMMC_CMD_USE_HOLD_REG;
+}
+
 static const struct dw_mci_drv_data hi6220_data = {
 	.switch_voltage		= dw_mci_hi6220_switch_voltage,
 	.set_ios		= dw_mci_hi6220_set_ios,
 	.parse_dt		= dw_mci_hi6220_parse_dt,
+	.prepare_command        = dw_mci_hi6220_prepare_command,
 };
 
 static const struct of_device_id dw_mci_k3_match[] = {
diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
index 9dd1bd3..047e116 100644
--- a/drivers/mmc/host/dw_mmc.c
+++ b/drivers/mmc/host/dw_mmc.c
@@ -1564,6 +1564,8 @@ static int dw_mci_execute_tuning(struct mmc_host *mmc, u32 opcode)
 
 	if (drv_data && drv_data->execute_tuning)
 		err = drv_data->execute_tuning(slot, opcode);
+	else
+		err = 0;
 	return err;
 }
 
-- 
1.8.3.2

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 1/2] Support SD UHS for hikey-mainline-rebase
@ 2016-07-19  7:51   ` Jin Guojun
  0 siblings, 0 replies; 16+ messages in thread
From: Jin Guojun @ 2016-07-19  7:51 UTC (permalink / raw)
  To: linux-arm-kernel

From: j00226943 <j00226943@notesmail.huawei.com>

Two more changes:

Before we send cmd,we need to set CMD bit29 to
1 so that CMD and DATA sent to card through the HOLD Register,
This is the explication in synosys host:To meet the relatively
high Input Hold Time requirement for SDR12, SDR25, and other MMC
speed modes, you should program bit[29]use_hold_Reg of the CMD
register to 1'b1; the output data is then registered again in the
cclk_in_drv domain by using the Hold Register as shown in Path B
of Figure 10-8. However, for the higher speed modes of SDR104, SDR50
and DDR50, you can meet the much smaller Input Hold Time requirement
of 0.8ns by bypassing the Hold Register (Path A in Figure 10-8,
programming CMD.use_hold_reg = 1'b0) and then adding delay elements
on the output path as indicated

We have no tuning function in our drivers,so we must do the
Function piling when we init UHS card.

Signed-off-by: Jin Guojun <kid.jin@hisilicon.com>
---
 drivers/mmc/host/dw_mmc-k3.c | 6 ++++++
 drivers/mmc/host/dw_mmc.c    | 2 ++
 2 files changed, 8 insertions(+)

diff --git a/drivers/mmc/host/dw_mmc-k3.c b/drivers/mmc/host/dw_mmc-k3.c
index 63c2e2e..2cbfcc7 100644
--- a/drivers/mmc/host/dw_mmc-k3.c
+++ b/drivers/mmc/host/dw_mmc-k3.c
@@ -125,10 +125,16 @@ static void dw_mci_hi6220_set_ios(struct dw_mci *host, struct mmc_ios *ios)
 	host->bus_hz = clk_get_rate(host->biu_clk);
 }
 
+static void dw_mci_hi6220_prepare_command(struct dw_mci *host, u32 *cmdr)
+{
+	*cmdr |= SDMMC_CMD_USE_HOLD_REG;
+}
+
 static const struct dw_mci_drv_data hi6220_data = {
 	.switch_voltage		= dw_mci_hi6220_switch_voltage,
 	.set_ios		= dw_mci_hi6220_set_ios,
 	.parse_dt		= dw_mci_hi6220_parse_dt,
+	.prepare_command        = dw_mci_hi6220_prepare_command,
 };
 
 static const struct of_device_id dw_mci_k3_match[] = {
diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
index 9dd1bd3..047e116 100644
--- a/drivers/mmc/host/dw_mmc.c
+++ b/drivers/mmc/host/dw_mmc.c
@@ -1564,6 +1564,8 @@ static int dw_mci_execute_tuning(struct mmc_host *mmc, u32 opcode)
 
 	if (drv_data && drv_data->execute_tuning)
 		err = drv_data->execute_tuning(slot, opcode);
+	else
+		err = 0;
 	return err;
 }
 
-- 
1.8.3.2

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 2/2] Enable SD UHS mode for hikey-mainline-rebase
@ 2016-07-19  7:51     ` Jin Guojun
  0 siblings, 0 replies; 16+ messages in thread
From: Jin Guojun @ 2016-07-19  7:51 UTC (permalink / raw)
  To: ulf.hansson, adrian.hunter, jh80.chung, wsa+renesas, arnd,
	rmk+kernel, shawn.lin, linux-mmc, linux-kernel, xuwei5, robh+dt,
	pawel.moll, mark.rutland, ijc+devicetree, galak, catalin.marinas,
	will.deacon, linux-arm-kernel, devicetree, linuxarm,
	suzhuangluan, kongfei, kid.jin

From: j00226943 <j00226943@notesmail.huawei.com>

One more changes:

Enable SDR12 SDR25 SDR50 SDR104 in DTS to support UHS for SD Card

Signed-off-by: Jin Guojun <kid.jin@hisilicon.com>
---
 arch/arm64/boot/dts/hisilicon/hi6220.dtsi | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
index 189d215..33f204f 100644
--- a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
+++ b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
@@ -761,6 +761,10 @@
 			card-detect-delay = <200>;
 			hisilicon,peripheral-syscon = <&ao_ctrl>;
 			cap-sd-highspeed;
+			sd-uhs-sdr12;
+			sd-uhs-sdr25;
+			sd-uhs-sdr50;
+			sd-uhs-sdr104;
 			reg = <0x0 0xf723e000 0x0 0x1000>;
 			interrupts = <0x0 0x49 0x4>;
 			#address-cells = <0x1>;
-- 
1.8.3.2

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 2/2] Enable SD UHS mode for hikey-mainline-rebase
@ 2016-07-19  7:51     ` Jin Guojun
  0 siblings, 0 replies; 16+ messages in thread
From: Jin Guojun @ 2016-07-19  7:51 UTC (permalink / raw)
  To: ulf.hansson-QSEj5FYQhm4dnm+yROfE0A,
	adrian.hunter-ral2JQCrhuEAvxtiuMwx3w,
	jh80.chung-Sze3O3UU22JBDgjK7y7TUQ,
	wsa+renesas-jBu1N2QxHDJrcw3mvpCnnVaTQe2KTcn/,
	arnd-r2nGTMty4D4, rmk+kernel-lFZ/pmaqli7XmaaqVzeoHQ,
	shawn.lin-TNX95d0MmH7DzftRWevZcw,
	linux-mmc-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	xuwei5-C8/M+/jPZTeaMJb+Lgu22Q, robh+dt-DgEjT+Ai2ygdnm+yROfE0A,
	pawel.moll-5wv7dgnIgG8, mark.rutland-5wv7dgnIgG8,
	ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg,
	galak-sgV2jX0FEOL9JmXXK+q4OQ, catalin.marinas-5wv7dgnIgG8,
	will.deacon-5wv7dgnIgG8,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	devicetree-u79uwXL29TY76Z2rM5mHXA,
	linuxarm-hv44wF8Li93QT0dZR+AlfA,
	suzhuangluan-C8/M+/jPZTeaMJb+Lgu22Q,
	kongfei-C8/M+/jPZTeaMJb+Lgu22Q, kid.jin-C8/M+/jPZTeaMJb+Lgu22Q

From: j00226943 <j00226943-YePjYCeDBwpZmURYYhsjV1aTQe2KTcn/@public.gmane.org>

One more changes:

Enable SDR12 SDR25 SDR50 SDR104 in DTS to support UHS for SD Card

Signed-off-by: Jin Guojun <kid.jin-C8/M+/jPZTeaMJb+Lgu22Q@public.gmane.org>
---
 arch/arm64/boot/dts/hisilicon/hi6220.dtsi | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
index 189d215..33f204f 100644
--- a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
+++ b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
@@ -761,6 +761,10 @@
 			card-detect-delay = <200>;
 			hisilicon,peripheral-syscon = <&ao_ctrl>;
 			cap-sd-highspeed;
+			sd-uhs-sdr12;
+			sd-uhs-sdr25;
+			sd-uhs-sdr50;
+			sd-uhs-sdr104;
 			reg = <0x0 0xf723e000 0x0 0x1000>;
 			interrupts = <0x0 0x49 0x4>;
 			#address-cells = <0x1>;
-- 
1.8.3.2

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 2/2] Enable SD UHS mode for hikey-mainline-rebase
@ 2016-07-19  7:51     ` Jin Guojun
  0 siblings, 0 replies; 16+ messages in thread
From: Jin Guojun @ 2016-07-19  7:51 UTC (permalink / raw)
  To: linux-arm-kernel

From: j00226943 <j00226943@notesmail.huawei.com>

One more changes:

Enable SDR12 SDR25 SDR50 SDR104 in DTS to support UHS for SD Card

Signed-off-by: Jin Guojun <kid.jin@hisilicon.com>
---
 arch/arm64/boot/dts/hisilicon/hi6220.dtsi | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
index 189d215..33f204f 100644
--- a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
+++ b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
@@ -761,6 +761,10 @@
 			card-detect-delay = <200>;
 			hisilicon,peripheral-syscon = <&ao_ctrl>;
 			cap-sd-highspeed;
+			sd-uhs-sdr12;
+			sd-uhs-sdr25;
+			sd-uhs-sdr50;
+			sd-uhs-sdr104;
 			reg = <0x0 0xf723e000 0x0 0x1000>;
 			interrupts = <0x0 0x49 0x4>;
 			#address-cells = <0x1>;
-- 
1.8.3.2

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* Re: [PATCH 1/2] Support SD UHS for hikey-mainline-rebase
  2016-07-19  7:51   ` Jin Guojun
@ 2016-07-19  8:13     ` Jaehoon Chung
  -1 siblings, 0 replies; 16+ messages in thread
From: Jaehoon Chung @ 2016-07-19  8:13 UTC (permalink / raw)
  To: Jin Guojun, ulf.hansson, Adrian Hunter, arnd, rmk+kernel,
	shawn.lin, linux-mmc, linux-kernel, xuwei5, robh+dt,
	ijc+devicetree, linux-arm-kernel, devicetree, linuxarm,
	suzhuangluan, kongfei, CPGS

Hi,

Removed the unnecessary CC'd.

On 07/19/2016 04:51 PM, Jin Guojun wrote:
> From: j00226943 <j00226943@notesmail.huawei.com>

What is j00226943?

When you send the patch for dw_mmc controller, plz use the prefix "mmc: dw_mmc: ".

> 
> Two more changes:
> 
> Before we send cmd,we need to set CMD bit29 to
> 1 so that CMD and DATA sent to card through the HOLD Register,
> This is the explication in synosys host:To meet the relatively
> high Input Hold Time requirement for SDR12, SDR25, and other MMC
> speed modes, you should program bit[29]use_hold_Reg of the CMD
> register to 1'b1; the output data is then registered again in the
> cclk_in_drv domain by using the Hold Register as shown in Path B
> of Figure 10-8. However, for the higher speed modes of SDR104, SDR50
> and DDR50, you can meet the much smaller Input Hold Time requirement
> of 0.8ns by bypassing the Hold Register (Path A in Figure 10-8,
> programming CMD.use_hold_reg = 1'b0) and then adding delay elements
> on the output path as indicated
> 
> We have no tuning function in our drivers,so we must do the
> Function piling when we init UHS card.

Sorry..this patch is NACK.
SDMMC_CMD_USE_HOLD_REG is already used by default in dw_mmc.c
Which kernel version did you use?

> 
> Signed-off-by: Jin Guojun <kid.jin@hisilicon.com>
> ---
>  drivers/mmc/host/dw_mmc-k3.c | 6 ++++++
>  drivers/mmc/host/dw_mmc.c    | 2 ++
>  2 files changed, 8 insertions(+)
> 
> diff --git a/drivers/mmc/host/dw_mmc-k3.c b/drivers/mmc/host/dw_mmc-k3.c
> index 63c2e2e..2cbfcc7 100644
> --- a/drivers/mmc/host/dw_mmc-k3.c
> +++ b/drivers/mmc/host/dw_mmc-k3.c
> @@ -125,10 +125,16 @@ static void dw_mci_hi6220_set_ios(struct dw_mci *host, struct mmc_ios *ios)
>  	host->bus_hz = clk_get_rate(host->biu_clk);
>  }
>  
> +static void dw_mci_hi6220_prepare_command(struct dw_mci *host, u32 *cmdr)
> +{
> +	*cmdr |= SDMMC_CMD_USE_HOLD_REG;
> +}
> +
>  static const struct dw_mci_drv_data hi6220_data = {
>  	.switch_voltage		= dw_mci_hi6220_switch_voltage,
>  	.set_ios		= dw_mci_hi6220_set_ios,
>  	.parse_dt		= dw_mci_hi6220_parse_dt,
> +	.prepare_command        = dw_mci_hi6220_prepare_command,
>  };

There is no "prepare_command" hooks.

Best Regards,
Jaehoon Chung

>  
>  static const struct of_device_id dw_mci_k3_match[] = {
> diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
> index 9dd1bd3..047e116 100644
> --- a/drivers/mmc/host/dw_mmc.c
> +++ b/drivers/mmc/host/dw_mmc.c
> @@ -1564,6 +1564,8 @@ static int dw_mci_execute_tuning(struct mmc_host *mmc, u32 opcode)
>  
>  	if (drv_data && drv_data->execute_tuning)
>  		err = drv_data->execute_tuning(slot, opcode);
> +	else
> +		err = 0;
>  	return err;
>  }
>  
> 

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH 1/2] Support SD UHS for hikey-mainline-rebase
@ 2016-07-19  8:13     ` Jaehoon Chung
  0 siblings, 0 replies; 16+ messages in thread
From: Jaehoon Chung @ 2016-07-19  8:13 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

Removed the unnecessary CC'd.

On 07/19/2016 04:51 PM, Jin Guojun wrote:
> From: j00226943 <j00226943@notesmail.huawei.com>

What is j00226943?

When you send the patch for dw_mmc controller, plz use the prefix "mmc: dw_mmc: ".

> 
> Two more changes:
> 
> Before we send cmd,we need to set CMD bit29 to
> 1 so that CMD and DATA sent to card through the HOLD Register,
> This is the explication in synosys host:To meet the relatively
> high Input Hold Time requirement for SDR12, SDR25, and other MMC
> speed modes, you should program bit[29]use_hold_Reg of the CMD
> register to 1'b1; the output data is then registered again in the
> cclk_in_drv domain by using the Hold Register as shown in Path B
> of Figure 10-8. However, for the higher speed modes of SDR104, SDR50
> and DDR50, you can meet the much smaller Input Hold Time requirement
> of 0.8ns by bypassing the Hold Register (Path A in Figure 10-8,
> programming CMD.use_hold_reg = 1'b0) and then adding delay elements
> on the output path as indicated
> 
> We have no tuning function in our drivers,so we must do the
> Function piling when we init UHS card.

Sorry..this patch is NACK.
SDMMC_CMD_USE_HOLD_REG is already used by default in dw_mmc.c
Which kernel version did you use?

> 
> Signed-off-by: Jin Guojun <kid.jin@hisilicon.com>
> ---
>  drivers/mmc/host/dw_mmc-k3.c | 6 ++++++
>  drivers/mmc/host/dw_mmc.c    | 2 ++
>  2 files changed, 8 insertions(+)
> 
> diff --git a/drivers/mmc/host/dw_mmc-k3.c b/drivers/mmc/host/dw_mmc-k3.c
> index 63c2e2e..2cbfcc7 100644
> --- a/drivers/mmc/host/dw_mmc-k3.c
> +++ b/drivers/mmc/host/dw_mmc-k3.c
> @@ -125,10 +125,16 @@ static void dw_mci_hi6220_set_ios(struct dw_mci *host, struct mmc_ios *ios)
>  	host->bus_hz = clk_get_rate(host->biu_clk);
>  }
>  
> +static void dw_mci_hi6220_prepare_command(struct dw_mci *host, u32 *cmdr)
> +{
> +	*cmdr |= SDMMC_CMD_USE_HOLD_REG;
> +}
> +
>  static const struct dw_mci_drv_data hi6220_data = {
>  	.switch_voltage		= dw_mci_hi6220_switch_voltage,
>  	.set_ios		= dw_mci_hi6220_set_ios,
>  	.parse_dt		= dw_mci_hi6220_parse_dt,
> +	.prepare_command        = dw_mci_hi6220_prepare_command,
>  };

There is no "prepare_command" hooks.

Best Regards,
Jaehoon Chung

>  
>  static const struct of_device_id dw_mci_k3_match[] = {
> diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
> index 9dd1bd3..047e116 100644
> --- a/drivers/mmc/host/dw_mmc.c
> +++ b/drivers/mmc/host/dw_mmc.c
> @@ -1564,6 +1564,8 @@ static int dw_mci_execute_tuning(struct mmc_host *mmc, u32 opcode)
>  
>  	if (drv_data && drv_data->execute_tuning)
>  		err = drv_data->execute_tuning(slot, opcode);
> +	else
> +		err = 0;
>  	return err;
>  }
>  
> 

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 1/2] Support SD UHS for hikey-mainline-rebase
  2016-07-19  8:13     ` Jaehoon Chung
  (?)
@ 2016-07-19 12:28       ` Jinguojun
  -1 siblings, 0 replies; 16+ messages in thread
From: Jinguojun @ 2016-07-19 12:28 UTC (permalink / raw)
  To: Jaehoon Chung, ulf.hansson, Adrian Hunter, arnd, rmk+kernel,
	shawn.lin, linux-mmc, linux-kernel, xuwei5, robh+dt,
	ijc+devicetree, linux-arm-kernel, devicetree, linuxarm,
	suzhuangluan, kongfei, CPGS



On 2016/7/19 16:13, Jaehoon Chung wrote:
> Hi,
> 
> Removed the unnecessary CC'd.
> 
> On 07/19/2016 04:51 PM, Jin Guojun wrote:
>> From: j00226943 <j00226943@notesmail.huawei.com>
> 
> What is j00226943?
> 
> When you send the patch for dw_mmc controller, plz use the prefix "mmc: dw_mmc: ".
> 
>>
>> Two more changes:
>>
>> Before we send cmd,we need to set CMD bit29 to
>> 1 so that CMD and DATA sent to card through the HOLD Register,
>> This is the explication in synosys host:To meet the relatively
>> high Input Hold Time requirement for SDR12, SDR25, and other MMC
>> speed modes, you should program bit[29]use_hold_Reg of the CMD
>> register to 1'b1; the output data is then registered again in the
>> cclk_in_drv domain by using the Hold Register as shown in Path B
>> of Figure 10-8. However, for the higher speed modes of SDR104, SDR50
>> and DDR50, you can meet the much smaller Input Hold Time requirement
>> of 0.8ns by bypassing the Hold Register (Path A in Figure 10-8,
>> programming CMD.use_hold_reg = 1'b0) and then adding delay elements
>> on the output path as indicated
>>
>> We have no tuning function in our drivers,so we must do the
>> Function piling when we init UHS card.

1.For hikey we cant support UHS for SD card in https://github.com/96boards-hikey/linux/tree/hikey-mainline-rebase
2.I have no SDMMC_CMD_USE_HOLD_REG in Dw_mmc-k3.c

> 
> Sorry..this patch is NACK.
> SDMMC_CMD_USE_HOLD_REG is already used by default in dw_mmc.c
> Which kernel version did you use?
> 
>>
>> Signed-off-by: Jin Guojun <kid.jin@hisilicon.com>
>> ---
>>  drivers/mmc/host/dw_mmc-k3.c | 6 ++++++
>>  drivers/mmc/host/dw_mmc.c    | 2 ++
>>  2 files changed, 8 insertions(+)
>>
>> diff --git a/drivers/mmc/host/dw_mmc-k3.c b/drivers/mmc/host/dw_mmc-k3.c
>> index 63c2e2e..2cbfcc7 100644
>> --- a/drivers/mmc/host/dw_mmc-k3.c
>> +++ b/drivers/mmc/host/dw_mmc-k3.c
>> @@ -125,10 +125,16 @@ static void dw_mci_hi6220_set_ios(struct dw_mci *host, struct mmc_ios *ios)
>>  	host->bus_hz = clk_get_rate(host->biu_clk);
>>  }
>>  
>> +static void dw_mci_hi6220_prepare_command(struct dw_mci *host, u32 *cmdr)
>> +{
>> +	*cmdr |= SDMMC_CMD_USE_HOLD_REG;
>> +}
>> +
>>  static const struct dw_mci_drv_data hi6220_data = {
>>  	.switch_voltage		= dw_mci_hi6220_switch_voltage,
>>  	.set_ios		= dw_mci_hi6220_set_ios,
>>  	.parse_dt		= dw_mci_hi6220_parse_dt,
>> +	.prepare_command        = dw_mci_hi6220_prepare_command,
>>  };
Hi,thank you for your review

1.We do the prepare_command in dw_mci_prepare_command before we send CMD in dw_mmc.c
2.I can find the same drivers in dw_mmc-exynos.c
3.For hikey we do the initialization from Dw_mmc-k3.c,so I need to do the prepare_command in hi6220 drivers

> 
> There is no "prepare_command" hooks.
> 
> Best Regards,
> Jaehoon Chung
> 
>>  
>>  static const struct of_device_id dw_mci_k3_match[] = {
>> diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
>> index 9dd1bd3..047e116 100644
>> --- a/drivers/mmc/host/dw_mmc.c
>> +++ b/drivers/mmc/host/dw_mmc.c
>> @@ -1564,6 +1564,8 @@ static int dw_mci_execute_tuning(struct mmc_host *mmc, u32 opcode)
>>  
>>  	if (drv_data && drv_data->execute_tuning)
>>  		err = drv_data->execute_tuning(slot, opcode);
>> +	else
>> +		err = 0;
>>  	return err;
>>  }
>>  
>>
> 
> 
> .
> 

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 1/2] Support SD UHS for hikey-mainline-rebase
@ 2016-07-19 12:28       ` Jinguojun
  0 siblings, 0 replies; 16+ messages in thread
From: Jinguojun @ 2016-07-19 12:28 UTC (permalink / raw)
  To: Jaehoon Chung, ulf.hansson, Adrian Hunter, arnd, rmk+kernel,
	shawn.lin, linux-mmc, linux-kernel, xuwei5, robh+dt,
	ijc+devicetree, linux-arm-kernel, devicetree, linuxarm,
	suzhuangluan, kongfei, CPGS



On 2016/7/19 16:13, Jaehoon Chung wrote:
> Hi,
> 
> Removed the unnecessary CC'd.
> 
> On 07/19/2016 04:51 PM, Jin Guojun wrote:
>> From: j00226943 <j00226943@notesmail.huawei.com>
> 
> What is j00226943?
> 
> When you send the patch for dw_mmc controller, plz use the prefix "mmc: dw_mmc: ".
> 
>>
>> Two more changes:
>>
>> Before we send cmd,we need to set CMD bit29 to
>> 1 so that CMD and DATA sent to card through the HOLD Register,
>> This is the explication in synosys host:To meet the relatively
>> high Input Hold Time requirement for SDR12, SDR25, and other MMC
>> speed modes, you should program bit[29]use_hold_Reg of the CMD
>> register to 1'b1; the output data is then registered again in the
>> cclk_in_drv domain by using the Hold Register as shown in Path B
>> of Figure 10-8. However, for the higher speed modes of SDR104, SDR50
>> and DDR50, you can meet the much smaller Input Hold Time requirement
>> of 0.8ns by bypassing the Hold Register (Path A in Figure 10-8,
>> programming CMD.use_hold_reg = 1'b0) and then adding delay elements
>> on the output path as indicated
>>
>> We have no tuning function in our drivers,so we must do the
>> Function piling when we init UHS card.

1.For hikey we cant support UHS for SD card in https://github.com/96boards-hikey/linux/tree/hikey-mainline-rebase
2.I have no SDMMC_CMD_USE_HOLD_REG in Dw_mmc-k3.c

> 
> Sorry..this patch is NACK.
> SDMMC_CMD_USE_HOLD_REG is already used by default in dw_mmc.c
> Which kernel version did you use?
> 
>>
>> Signed-off-by: Jin Guojun <kid.jin@hisilicon.com>
>> ---
>>  drivers/mmc/host/dw_mmc-k3.c | 6 ++++++
>>  drivers/mmc/host/dw_mmc.c    | 2 ++
>>  2 files changed, 8 insertions(+)
>>
>> diff --git a/drivers/mmc/host/dw_mmc-k3.c b/drivers/mmc/host/dw_mmc-k3.c
>> index 63c2e2e..2cbfcc7 100644
>> --- a/drivers/mmc/host/dw_mmc-k3.c
>> +++ b/drivers/mmc/host/dw_mmc-k3.c
>> @@ -125,10 +125,16 @@ static void dw_mci_hi6220_set_ios(struct dw_mci *host, struct mmc_ios *ios)
>>  	host->bus_hz = clk_get_rate(host->biu_clk);
>>  }
>>  
>> +static void dw_mci_hi6220_prepare_command(struct dw_mci *host, u32 *cmdr)
>> +{
>> +	*cmdr |= SDMMC_CMD_USE_HOLD_REG;
>> +}
>> +
>>  static const struct dw_mci_drv_data hi6220_data = {
>>  	.switch_voltage		= dw_mci_hi6220_switch_voltage,
>>  	.set_ios		= dw_mci_hi6220_set_ios,
>>  	.parse_dt		= dw_mci_hi6220_parse_dt,
>> +	.prepare_command        = dw_mci_hi6220_prepare_command,
>>  };
Hi,thank you for your review

1.We do the prepare_command in dw_mci_prepare_command before we send CMD in dw_mmc.c
2.I can find the same drivers in dw_mmc-exynos.c
3.For hikey we do the initialization from Dw_mmc-k3.c,so I need to do the prepare_command in hi6220 drivers

> 
> There is no "prepare_command" hooks.
> 
> Best Regards,
> Jaehoon Chung
> 
>>  
>>  static const struct of_device_id dw_mci_k3_match[] = {
>> diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
>> index 9dd1bd3..047e116 100644
>> --- a/drivers/mmc/host/dw_mmc.c
>> +++ b/drivers/mmc/host/dw_mmc.c
>> @@ -1564,6 +1564,8 @@ static int dw_mci_execute_tuning(struct mmc_host *mmc, u32 opcode)
>>  
>>  	if (drv_data && drv_data->execute_tuning)
>>  		err = drv_data->execute_tuning(slot, opcode);
>> +	else
>> +		err = 0;
>>  	return err;
>>  }
>>  
>>
> 
> 
> .
> 

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH 1/2] Support SD UHS for hikey-mainline-rebase
@ 2016-07-19 12:28       ` Jinguojun
  0 siblings, 0 replies; 16+ messages in thread
From: Jinguojun @ 2016-07-19 12:28 UTC (permalink / raw)
  To: linux-arm-kernel



On 2016/7/19 16:13, Jaehoon Chung wrote:
> Hi,
> 
> Removed the unnecessary CC'd.
> 
> On 07/19/2016 04:51 PM, Jin Guojun wrote:
>> From: j00226943 <j00226943@notesmail.huawei.com>
> 
> What is j00226943?
> 
> When you send the patch for dw_mmc controller, plz use the prefix "mmc: dw_mmc: ".
> 
>>
>> Two more changes:
>>
>> Before we send cmd,we need to set CMD bit29 to
>> 1 so that CMD and DATA sent to card through the HOLD Register,
>> This is the explication in synosys host:To meet the relatively
>> high Input Hold Time requirement for SDR12, SDR25, and other MMC
>> speed modes, you should program bit[29]use_hold_Reg of the CMD
>> register to 1'b1; the output data is then registered again in the
>> cclk_in_drv domain by using the Hold Register as shown in Path B
>> of Figure 10-8. However, for the higher speed modes of SDR104, SDR50
>> and DDR50, you can meet the much smaller Input Hold Time requirement
>> of 0.8ns by bypassing the Hold Register (Path A in Figure 10-8,
>> programming CMD.use_hold_reg = 1'b0) and then adding delay elements
>> on the output path as indicated
>>
>> We have no tuning function in our drivers,so we must do the
>> Function piling when we init UHS card.

1.For hikey we cant support UHS for SD card in https://github.com/96boards-hikey/linux/tree/hikey-mainline-rebase
2.I have no SDMMC_CMD_USE_HOLD_REG in Dw_mmc-k3.c

> 
> Sorry..this patch is NACK.
> SDMMC_CMD_USE_HOLD_REG is already used by default in dw_mmc.c
> Which kernel version did you use?
> 
>>
>> Signed-off-by: Jin Guojun <kid.jin@hisilicon.com>
>> ---
>>  drivers/mmc/host/dw_mmc-k3.c | 6 ++++++
>>  drivers/mmc/host/dw_mmc.c    | 2 ++
>>  2 files changed, 8 insertions(+)
>>
>> diff --git a/drivers/mmc/host/dw_mmc-k3.c b/drivers/mmc/host/dw_mmc-k3.c
>> index 63c2e2e..2cbfcc7 100644
>> --- a/drivers/mmc/host/dw_mmc-k3.c
>> +++ b/drivers/mmc/host/dw_mmc-k3.c
>> @@ -125,10 +125,16 @@ static void dw_mci_hi6220_set_ios(struct dw_mci *host, struct mmc_ios *ios)
>>  	host->bus_hz = clk_get_rate(host->biu_clk);
>>  }
>>  
>> +static void dw_mci_hi6220_prepare_command(struct dw_mci *host, u32 *cmdr)
>> +{
>> +	*cmdr |= SDMMC_CMD_USE_HOLD_REG;
>> +}
>> +
>>  static const struct dw_mci_drv_data hi6220_data = {
>>  	.switch_voltage		= dw_mci_hi6220_switch_voltage,
>>  	.set_ios		= dw_mci_hi6220_set_ios,
>>  	.parse_dt		= dw_mci_hi6220_parse_dt,
>> +	.prepare_command        = dw_mci_hi6220_prepare_command,
>>  };
Hi,thank you for your review

1.We do the prepare_command in dw_mci_prepare_command before we send CMD in dw_mmc.c
2.I can find the same drivers in dw_mmc-exynos.c
3.For hikey we do the initialization from Dw_mmc-k3.c,so I need to do the prepare_command in hi6220 drivers

> 
> There is no "prepare_command" hooks.
> 
> Best Regards,
> Jaehoon Chung
> 
>>  
>>  static const struct of_device_id dw_mci_k3_match[] = {
>> diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
>> index 9dd1bd3..047e116 100644
>> --- a/drivers/mmc/host/dw_mmc.c
>> +++ b/drivers/mmc/host/dw_mmc.c
>> @@ -1564,6 +1564,8 @@ static int dw_mci_execute_tuning(struct mmc_host *mmc, u32 opcode)
>>  
>>  	if (drv_data && drv_data->execute_tuning)
>>  		err = drv_data->execute_tuning(slot, opcode);
>> +	else
>> +		err = 0;
>>  	return err;
>>  }
>>  
>>
> 
> 
> .
> 

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 1/2] Support SD UHS for hikey-mainline-rebase
  2016-07-19 12:28       ` Jinguojun
@ 2016-07-20  1:09         ` Shawn Lin
  -1 siblings, 0 replies; 16+ messages in thread
From: Shawn Lin @ 2016-07-20  1:09 UTC (permalink / raw)
  To: Jinguojun, Jaehoon Chung, ulf.hansson, Adrian Hunter, arnd,
	rmk+kernel, linux-mmc, linux-kernel, xuwei5, robh+dt,
	ijc+devicetree, linux-arm-kernel, devicetree, linuxarm,
	suzhuangluan, kongfei, CPGS
  Cc: shawn.lin

在 2016/7/19 20:28, Jinguojun 写道:
>
>
> On 2016/7/19 16:13, Jaehoon Chung wrote:
>> Hi,
>>
>> Removed the unnecessary CC'd.
>>
>> On 07/19/2016 04:51 PM, Jin Guojun wrote:
>>> From: j00226943 <j00226943@notesmail.huawei.com>
>>
>> What is j00226943?
>>
>> When you send the patch for dw_mmc controller, plz use the prefix "mmc: dw_mmc: ".
>>
>>>
>>> Two more changes:
>>>
>>> Before we send cmd,we need to set CMD bit29 to
>>> 1 so that CMD and DATA sent to card through the HOLD Register,
>>> This is the explication in synosys host:To meet the relatively
>>> high Input Hold Time requirement for SDR12, SDR25, and other MMC
>>> speed modes, you should program bit[29]use_hold_Reg of the CMD
>>> register to 1'b1; the output data is then registered again in the
>>> cclk_in_drv domain by using the Hold Register as shown in Path B
>>> of Figure 10-8. However, for the higher speed modes of SDR104, SDR50
>>> and DDR50, you can meet the much smaller Input Hold Time requirement
>>> of 0.8ns by bypassing the Hold Register (Path A in Figure 10-8,
>>> programming CMD.use_hold_reg = 1'b0) and then adding delay elements
>>> on the output path as indicated
>>>
>>> We have no tuning function in our drivers,so we must do the
>>> Function piling when we init UHS card.
>
> 1.For hikey we cant support UHS for SD card in https://github.com/96boards-hikey/linux/tree/hikey-mainline-rebase
> 2.I have no SDMMC_CMD_USE_HOLD_REG in Dw_mmc-k3.c
>
>>
>> Sorry..this patch is NACK.
>> SDMMC_CMD_USE_HOLD_REG is already used by default in dw_mmc.c
>> Which kernel version did you use?
>>
>>>
>>> Signed-off-by: Jin Guojun <kid.jin@hisilicon.com>
>>> ---
>>>  drivers/mmc/host/dw_mmc-k3.c | 6 ++++++
>>>  drivers/mmc/host/dw_mmc.c    | 2 ++
>>>  2 files changed, 8 insertions(+)
>>>
>>> diff --git a/drivers/mmc/host/dw_mmc-k3.c b/drivers/mmc/host/dw_mmc-k3.c
>>> index 63c2e2e..2cbfcc7 100644
>>> --- a/drivers/mmc/host/dw_mmc-k3.c
>>> +++ b/drivers/mmc/host/dw_mmc-k3.c
>>> @@ -125,10 +125,16 @@ static void dw_mci_hi6220_set_ios(struct dw_mci *host, struct mmc_ios *ios)
>>>  	host->bus_hz = clk_get_rate(host->biu_clk);
>>>  }
>>>
>>> +static void dw_mci_hi6220_prepare_command(struct dw_mci *host, u32 *cmdr)
>>> +{
>>> +	*cmdr |= SDMMC_CMD_USE_HOLD_REG;
>>> +}
>>> +
>>>  static const struct dw_mci_drv_data hi6220_data = {
>>>  	.switch_voltage		= dw_mci_hi6220_switch_voltage,
>>>  	.set_ios		= dw_mci_hi6220_set_ios,
>>>  	.parse_dt		= dw_mci_hi6220_parse_dt,
>>> +	.prepare_command        = dw_mci_hi6220_prepare_command,
>>>  };
> Hi,thank you for your review
>
> 1.We do the prepare_command in dw_mci_prepare_command before we send CMD in dw_mmc.c

please clone Ulf's tree[0] and rebase your any patches on its next
branch, thanks.


[0] git://git.linaro.org/people/ulf.hansson/mmc

> 2.I can find the same drivers in dw_mmc-exynos.c
> 3.For hikey we do the initialization from Dw_mmc-k3.c,so I need to do the prepare_command in hi6220 drivers
>
>>
>> There is no "prepare_command" hooks.
>>
>> Best Regards,
>> Jaehoon Chung
>>
>>>
>>>  static const struct of_device_id dw_mci_k3_match[] = {
>>> diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
>>> index 9dd1bd3..047e116 100644
>>> --- a/drivers/mmc/host/dw_mmc.c
>>> +++ b/drivers/mmc/host/dw_mmc.c
>>> @@ -1564,6 +1564,8 @@ static int dw_mci_execute_tuning(struct mmc_host *mmc, u32 opcode)
>>>
>>>  	if (drv_data && drv_data->execute_tuning)
>>>  		err = drv_data->execute_tuning(slot, opcode);
>>> +	else
>>> +		err = 0;
>>>  	return err;
>>>  }
>>>
>>>
>>
>>
>> .
>>
>
>
>
>


-- 
Best Regards
Shawn Lin

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH 1/2] Support SD UHS for hikey-mainline-rebase
@ 2016-07-20  1:09         ` Shawn Lin
  0 siblings, 0 replies; 16+ messages in thread
From: Shawn Lin @ 2016-07-20  1:09 UTC (permalink / raw)
  To: linux-arm-kernel

? 2016/7/19 20:28, Jinguojun ??:
>
>
> On 2016/7/19 16:13, Jaehoon Chung wrote:
>> Hi,
>>
>> Removed the unnecessary CC'd.
>>
>> On 07/19/2016 04:51 PM, Jin Guojun wrote:
>>> From: j00226943 <j00226943@notesmail.huawei.com>
>>
>> What is j00226943?
>>
>> When you send the patch for dw_mmc controller, plz use the prefix "mmc: dw_mmc: ".
>>
>>>
>>> Two more changes:
>>>
>>> Before we send cmd,we need to set CMD bit29 to
>>> 1 so that CMD and DATA sent to card through the HOLD Register,
>>> This is the explication in synosys host:To meet the relatively
>>> high Input Hold Time requirement for SDR12, SDR25, and other MMC
>>> speed modes, you should program bit[29]use_hold_Reg of the CMD
>>> register to 1'b1; the output data is then registered again in the
>>> cclk_in_drv domain by using the Hold Register as shown in Path B
>>> of Figure 10-8. However, for the higher speed modes of SDR104, SDR50
>>> and DDR50, you can meet the much smaller Input Hold Time requirement
>>> of 0.8ns by bypassing the Hold Register (Path A in Figure 10-8,
>>> programming CMD.use_hold_reg = 1'b0) and then adding delay elements
>>> on the output path as indicated
>>>
>>> We have no tuning function in our drivers,so we must do the
>>> Function piling when we init UHS card.
>
> 1.For hikey we cant support UHS for SD card in https://github.com/96boards-hikey/linux/tree/hikey-mainline-rebase
> 2.I have no SDMMC_CMD_USE_HOLD_REG in Dw_mmc-k3.c
>
>>
>> Sorry..this patch is NACK.
>> SDMMC_CMD_USE_HOLD_REG is already used by default in dw_mmc.c
>> Which kernel version did you use?
>>
>>>
>>> Signed-off-by: Jin Guojun <kid.jin@hisilicon.com>
>>> ---
>>>  drivers/mmc/host/dw_mmc-k3.c | 6 ++++++
>>>  drivers/mmc/host/dw_mmc.c    | 2 ++
>>>  2 files changed, 8 insertions(+)
>>>
>>> diff --git a/drivers/mmc/host/dw_mmc-k3.c b/drivers/mmc/host/dw_mmc-k3.c
>>> index 63c2e2e..2cbfcc7 100644
>>> --- a/drivers/mmc/host/dw_mmc-k3.c
>>> +++ b/drivers/mmc/host/dw_mmc-k3.c
>>> @@ -125,10 +125,16 @@ static void dw_mci_hi6220_set_ios(struct dw_mci *host, struct mmc_ios *ios)
>>>  	host->bus_hz = clk_get_rate(host->biu_clk);
>>>  }
>>>
>>> +static void dw_mci_hi6220_prepare_command(struct dw_mci *host, u32 *cmdr)
>>> +{
>>> +	*cmdr |= SDMMC_CMD_USE_HOLD_REG;
>>> +}
>>> +
>>>  static const struct dw_mci_drv_data hi6220_data = {
>>>  	.switch_voltage		= dw_mci_hi6220_switch_voltage,
>>>  	.set_ios		= dw_mci_hi6220_set_ios,
>>>  	.parse_dt		= dw_mci_hi6220_parse_dt,
>>> +	.prepare_command        = dw_mci_hi6220_prepare_command,
>>>  };
> Hi,thank you for your review
>
> 1.We do the prepare_command in dw_mci_prepare_command before we send CMD in dw_mmc.c

please clone Ulf's tree[0] and rebase your any patches on its next
branch, thanks.


[0] git://git.linaro.org/people/ulf.hansson/mmc

> 2.I can find the same drivers in dw_mmc-exynos.c
> 3.For hikey we do the initialization from Dw_mmc-k3.c,so I need to do the prepare_command in hi6220 drivers
>
>>
>> There is no "prepare_command" hooks.
>>
>> Best Regards,
>> Jaehoon Chung
>>
>>>
>>>  static const struct of_device_id dw_mci_k3_match[] = {
>>> diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
>>> index 9dd1bd3..047e116 100644
>>> --- a/drivers/mmc/host/dw_mmc.c
>>> +++ b/drivers/mmc/host/dw_mmc.c
>>> @@ -1564,6 +1564,8 @@ static int dw_mci_execute_tuning(struct mmc_host *mmc, u32 opcode)
>>>
>>>  	if (drv_data && drv_data->execute_tuning)
>>>  		err = drv_data->execute_tuning(slot, opcode);
>>> +	else
>>> +		err = 0;
>>>  	return err;
>>>  }
>>>
>>>
>>
>>
>> .
>>
>
>
>
>


-- 
Best Regards
Shawn Lin

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 1/2] Support SD UHS for hikey-mainline-rebase
@ 2016-07-31  1:45     ` kbuild test robot
  0 siblings, 0 replies; 16+ messages in thread
From: kbuild test robot @ 2016-07-31  1:45 UTC (permalink / raw)
  To: Jin Guojun
  Cc: kbuild-all, ulf.hansson, adrian.hunter, jh80.chung, wsa+renesas,
	arnd, rmk+kernel, shawn.lin, linux-mmc, linux-kernel, xuwei5,
	robh+dt, pawel.moll, mark.rutland, ijc+devicetree, galak,
	catalin.marinas, will.deacon, linux-arm-kernel, devicetree,
	linuxarm, suzhuangluan, kongfei, kid.jin

[-- Attachment #1: Type: text/plain, Size: 1812 bytes --]

Hi,

[auto build test ERROR on robh/for-next]
[also build test ERROR on v4.7 next-20160729]
[cannot apply to ulf.hansson-mmc/next]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Jin-Guojun/Support-SD-UHS-for-hikey-mainline-rebase/20160725-102555
base:   https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
config: i386-allmodconfig (attached as .config)
compiler: gcc-6 (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

>> drivers/mmc/host/dw_mmc-k3.c:137:2: error: unknown field 'prepare_command' specified in initializer
     .prepare_command        = dw_mci_hi6220_prepare_command,
     ^
>> drivers/mmc/host/dw_mmc-k3.c:137:28: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
     .prepare_command        = dw_mci_hi6220_prepare_command,
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/mmc/host/dw_mmc-k3.c:137:28: note: (near initialization for 'hi6220_data.execute_tuning')
   cc1: some warnings being treated as errors

vim +/prepare_command +137 drivers/mmc/host/dw_mmc-k3.c

   131	}
   132	
   133	static const struct dw_mci_drv_data hi6220_data = {
   134		.switch_voltage		= dw_mci_hi6220_switch_voltage,
   135		.set_ios		= dw_mci_hi6220_set_ios,
   136		.parse_dt		= dw_mci_hi6220_parse_dt,
 > 137		.prepare_command        = dw_mci_hi6220_prepare_command,
   138	};
   139	
   140	static const struct of_device_id dw_mci_k3_match[] = {

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/octet-stream, Size: 55034 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 1/2] Support SD UHS for hikey-mainline-rebase
@ 2016-07-31  1:45     ` kbuild test robot
  0 siblings, 0 replies; 16+ messages in thread
From: kbuild test robot @ 2016-07-31  1:45 UTC (permalink / raw)
  Cc: kbuild-all-JC7UmRfGjtg, ulf.hansson-QSEj5FYQhm4dnm+yROfE0A,
	adrian.hunter-ral2JQCrhuEAvxtiuMwx3w,
	jh80.chung-Sze3O3UU22JBDgjK7y7TUQ,
	wsa+renesas-jBu1N2QxHDJrcw3mvpCnnVaTQe2KTcn/,
	arnd-r2nGTMty4D4, rmk+kernel-lFZ/pmaqli7XmaaqVzeoHQ,
	shawn.lin-TNX95d0MmH7DzftRWevZcw,
	linux-mmc-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	xuwei5-C8/M+/jPZTeaMJb+Lgu22Q, robh+dt-DgEjT+Ai2ygdnm+yROfE0A,
	pawel.moll-5wv7dgnIgG8, mark.rutland-5wv7dgnIgG8,
	ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg,
	galak-sgV2jX0FEOL9JmXXK+q4OQ, catalin.marinas-5wv7dgnIgG8,
	will.deacon-5wv7dgnIgG8,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	devicetree-u79uwXL29TY76Z2rM5mHXA,
	linuxarm-hv44wF8Li93QT0dZR+AlfA,
	suzhuangluan-C8/M+/jPZTeaMJb+Lgu22Q,
	kongfei-C8/M+/jPZTeaMJb+Lgu22Q, kid.jin-C8/M+/jPZTeaMJb+Lgu22Q

[-- Attachment #1: Type: text/plain, Size: 1812 bytes --]

Hi,

[auto build test ERROR on robh/for-next]
[also build test ERROR on v4.7 next-20160729]
[cannot apply to ulf.hansson-mmc/next]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Jin-Guojun/Support-SD-UHS-for-hikey-mainline-rebase/20160725-102555
base:   https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
config: i386-allmodconfig (attached as .config)
compiler: gcc-6 (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

>> drivers/mmc/host/dw_mmc-k3.c:137:2: error: unknown field 'prepare_command' specified in initializer
     .prepare_command        = dw_mci_hi6220_prepare_command,
     ^
>> drivers/mmc/host/dw_mmc-k3.c:137:28: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
     .prepare_command        = dw_mci_hi6220_prepare_command,
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/mmc/host/dw_mmc-k3.c:137:28: note: (near initialization for 'hi6220_data.execute_tuning')
   cc1: some warnings being treated as errors

vim +/prepare_command +137 drivers/mmc/host/dw_mmc-k3.c

   131	}
   132	
   133	static const struct dw_mci_drv_data hi6220_data = {
   134		.switch_voltage		= dw_mci_hi6220_switch_voltage,
   135		.set_ios		= dw_mci_hi6220_set_ios,
   136		.parse_dt		= dw_mci_hi6220_parse_dt,
 > 137		.prepare_command        = dw_mci_hi6220_prepare_command,
   138	};
   139	
   140	static const struct of_device_id dw_mci_k3_match[] = {

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/octet-stream, Size: 55034 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH 1/2] Support SD UHS for hikey-mainline-rebase
@ 2016-07-31  1:45     ` kbuild test robot
  0 siblings, 0 replies; 16+ messages in thread
From: kbuild test robot @ 2016-07-31  1:45 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

[auto build test ERROR on robh/for-next]
[also build test ERROR on v4.7 next-20160729]
[cannot apply to ulf.hansson-mmc/next]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Jin-Guojun/Support-SD-UHS-for-hikey-mainline-rebase/20160725-102555
base:   https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
config: i386-allmodconfig (attached as .config)
compiler: gcc-6 (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

>> drivers/mmc/host/dw_mmc-k3.c:137:2: error: unknown field 'prepare_command' specified in initializer
     .prepare_command        = dw_mci_hi6220_prepare_command,
     ^
>> drivers/mmc/host/dw_mmc-k3.c:137:28: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
     .prepare_command        = dw_mci_hi6220_prepare_command,
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/mmc/host/dw_mmc-k3.c:137:28: note: (near initialization for 'hi6220_data.execute_tuning')
   cc1: some warnings being treated as errors

vim +/prepare_command +137 drivers/mmc/host/dw_mmc-k3.c

   131	}
   132	
   133	static const struct dw_mci_drv_data hi6220_data = {
   134		.switch_voltage		= dw_mci_hi6220_switch_voltage,
   135		.set_ios		= dw_mci_hi6220_set_ios,
   136		.parse_dt		= dw_mci_hi6220_parse_dt,
 > 137		.prepare_command        = dw_mci_hi6220_prepare_command,
   138	};
   139	
   140	static const struct of_device_id dw_mci_k3_match[] = {

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/octet-stream
Size: 55034 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20160731/60fdfa7a/attachment-0001.obj>

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2016-07-31  1:47 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <CGME20160719075706epcas1p169dc5e5e0f7179f71f92a56e57e373c4@epcas1p1.samsung.com>
2016-07-19  7:51 ` [PATCH 1/2] Support SD UHS for hikey-mainline-rebase Jin Guojun
2016-07-19  7:51   ` Jin Guojun
2016-07-19  7:51   ` Jin Guojun
2016-07-19  7:51   ` [PATCH 2/2] Enable SD UHS mode " Jin Guojun
2016-07-19  7:51     ` Jin Guojun
2016-07-19  7:51     ` Jin Guojun
2016-07-19  8:13   ` [PATCH 1/2] Support SD UHS " Jaehoon Chung
2016-07-19  8:13     ` Jaehoon Chung
2016-07-19 12:28     ` Jinguojun
2016-07-19 12:28       ` Jinguojun
2016-07-19 12:28       ` Jinguojun
2016-07-20  1:09       ` Shawn Lin
2016-07-20  1:09         ` Shawn Lin
2016-07-31  1:45   ` kbuild test robot
2016-07-31  1:45     ` kbuild test robot
2016-07-31  1:45     ` kbuild test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.