Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1207380 > unrolled thread
| Started by | sdliyong@gmail.com |
|---|---|
| First post | 2015-08-14 09:40 +0200 |
| Last post | 2015-08-17 08:50 +0200 |
| Articles | 4 — 3 participants |
Back to article view | Back to linux.kernel
[PATCH] mmc: block: disable the reliable write If the card does not support CMD23 sdliyong@gmail.com - 2015-08-14 09:40 +0200
Re: [PATCH] mmc: block: disable the reliable write If the card does not support CMD23 Shawn Lin <shawn.lin@rock-chips.com> - 2015-08-14 10:20 +0200
RE: [PATCH] mmc: block: disable the reliable write If the card does not support CMD23 LIYONG <sdliyong@gmail.com> - 2015-08-15 14:20 +0200
Re: [PATCH] mmc: block: disable the reliable write If the card does not support CMD23 Shawn Lin <shawn.lin@rock-chips.com> - 2015-08-17 08:50 +0200
| From | sdliyong@gmail.com |
|---|---|
| Date | 2015-08-14 09:40 +0200 |
| Subject | [PATCH] mmc: block: disable the reliable write If the card does not support CMD23 |
| Message-ID | <pXhKN-3Sy-13@gated-at.bofh.it> |
From: Yong Li <sdliyong@gmail.com> Signed-off-by: Yong Li <sdliyong@gmail.com> --- drivers/mmc/card/block.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c index 452782b..d9e3c45 100644 --- a/drivers/mmc/card/block.c +++ b/drivers/mmc/card/block.c @@ -1366,7 +1366,8 @@ static void mmc_blk_rw_rq_prep(struct mmc_queue_req *mqrq, bool do_rel_wr = ((req->cmd_flags & REQ_FUA) || (req->cmd_flags & REQ_META)) && (rq_data_dir(req) == WRITE) && - (md->flags & MMC_BLK_REL_WR); + (md->flags & MMC_BLK_REL_WR) && + !(card->quirks & MMC_QUIRK_BLK_NO_CMD23); memset(brq, 0, sizeof(struct mmc_blk_request)); brq->mrq.cmd = &brq->cmd; -- 2.1.0 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Shawn Lin <shawn.lin@rock-chips.com> |
|---|---|
| Date | 2015-08-14 10:20 +0200 |
| Subject | Re: [PATCH] mmc: block: disable the reliable write If the card does not support CMD23 |
| Message-ID | <pXinw-4Rh-13@gated-at.bofh.it> |
| In reply to | #1207380 |
在 2015/8/14 15:30, sdliyong@gmail.com 写道:
> From: Yong Li <sdliyong@gmail.com>
>
> Signed-off-by: Yong Li <sdliyong@gmail.com>
> ---
> drivers/mmc/card/block.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c
> index 452782b..d9e3c45 100644
> --- a/drivers/mmc/card/block.c
> +++ b/drivers/mmc/card/block.c
> @@ -1366,7 +1366,8 @@ static void mmc_blk_rw_rq_prep(struct mmc_queue_req *mqrq,
> bool do_rel_wr = ((req->cmd_flags & REQ_FUA) ||
> (req->cmd_flags & REQ_META)) &&
> (rq_data_dir(req) == WRITE) &&
> - (md->flags & MMC_BLK_REL_WR);
> + (md->flags & MMC_BLK_REL_WR) &&
> + !(card->quirks & MMC_QUIRK_BLK_NO_CMD23);
Hi Yong,
pls check that code below.
MMC_BLK_REL_WR will not be enabled if we know this card CANNOT support
CMD23 form SCR. AND, "card->quirks & MMC_QUIRK_BLK_NO_CMD23" would be
checked here as well. So I think your code is unnecessary.
if ((md->flags & MMC_BLK_CMD23) && mmc_op_multi(brq->cmd.opcode) &&
(do_rel_wr || !(card->quirks & MMC_QUIRK_BLK_NO_CMD23) ||
do_data_tag)) {
brq->sbc.opcode = MMC_SET_BLOCK_COUNT;
brq->sbc.arg = brq->data.blocks |
(do_rel_wr ? (1 << 31) : 0) |
(do_data_tag ? (1 << 29) : 0);
brq->sbc.flags = MMC_RSP_R1 | MMC_CMD_AC;
brq->mrq.sbc = &brq->sbc;
}
Thanks.
Shawn
>
> memset(brq, 0, sizeof(struct mmc_blk_request));
> brq->mrq.cmd = &brq->cmd;
>
--
Shawn Lin
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | LIYONG <sdliyong@gmail.com> |
|---|---|
| Date | 2015-08-15 14:20 +0200 |
| Subject | RE: [PATCH] mmc: block: disable the reliable write If the card does not support CMD23 |
| Message-ID | <pXIBk-12r-25@gated-at.bofh.it> |
| In reply to | #1207397 |
VGhhbmtzIFNoYXduLiBQbGVhc2UgaGVscCB0byBjaGVjayB0aGUgYmVsb3cgaW4gdGhlwqBtbWNf YmxrX3J3X3JxX3ByZXA6CglpZiAoZG9fcmVsX3dyKQoJCW1tY19hcHBseV9yZWxfcncoYnJxLCBj YXJkLCByZXEpOwoKSSB0aGluayB3ZSBuZWVkIHRvIHNldCB0aGUgZG9fcmVsX3dyIHRvIGZhbHNl KCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoaXMgZnVuY3Rpb24pIGlmIHRoZSBjYXJkIGRvZXMgbm90 IHN1cHBvcnQgdGhlIENNRDIzLiBUaGUgYWJvdmUgY29kZSBpcyBleGVjdXRlZCBiZWZvcmUgdGhl ICJpZiAoKG1kLT5mbGFncyAmIE1NQ19CTEtfQ01EMjMpIiBjb2RlLgoKVGhhbmtzLApZb25nIExp Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiBTdWJqZWN0OiBSZTog W1BBVENIXSBtbWM6IGJsb2NrOiBkaXNhYmxlIHRoZSByZWxpYWJsZSB3cml0ZSBJZiB0aGUgY2Fy ZCBkb2VzIG5vdCBzdXBwb3J0IENNRDIzCj4gVG86IHNkbGl5b25nQGdtYWlsLmNvbTsgY2hyaXNA cHJpbnRmLm5ldDsgdWxmLmhhbnNzb25AbGluYXJvLm9yZzsgbGludXgtbW1jQHZnZXIua2VybmVs Lm9yZzsgbGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZwo+IENDOiBzaGF3bi5saW5Acm9jay1j aGlwcy5jb20KPiBGcm9tOiBzaGF3bi5saW5Acm9jay1jaGlwcy5jb20KPiBEYXRlOiBGcmksIDE0 IEF1ZyAyMDE1IDE2OjEzOjAyICswODAwCj4KPiDlnKggMjAxNS84LzE0IDE1OjMwLCBzZGxpeW9u Z0BnbWFpbC5jb20g5YaZ6YGTOgo+PiBGcm9tOiBZb25nIExpIDxzZGxpeW9uZ0BnbWFpbC5jb20+ Cj4+Cj4+IFNpZ25lZC1vZmYtYnk6IFlvbmcgTGkgPHNkbGl5b25nQGdtYWlsLmNvbT4KPj4gLS0t Cj4+IGRyaXZlcnMvbW1jL2NhcmQvYmxvY2suYyB8IDMgKystCj4+IDEgZmlsZSBjaGFuZ2VkLCAy IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKPj4KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv bW1jL2NhcmQvYmxvY2suYyBiL2RyaXZlcnMvbW1jL2NhcmQvYmxvY2suYwo+PiBpbmRleCA0NTI3 ODJiLi5kOWUzYzQ1IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL21tYy9jYXJkL2Jsb2NrLmMKPj4g KysrIGIvZHJpdmVycy9tbWMvY2FyZC9ibG9jay5jCj4+IEBAIC0xMzY2LDcgKzEzNjYsOCBAQCBz dGF0aWMgdm9pZCBtbWNfYmxrX3J3X3JxX3ByZXAoc3RydWN0IG1tY19xdWV1ZV9yZXEgKm1xcnEs Cj4+IGJvb2wgZG9fcmVsX3dyID0gKChyZXEtPmNtZF9mbGFncyAmIFJFUV9GVUEpIHx8Cj4+IChy ZXEtPmNtZF9mbGFncyAmIFJFUV9NRVRBKSkgJiYKPj4gKHJxX2RhdGFfZGlyKHJlcSkgPT0gV1JJ VEUpICYmCj4+IC0gKG1kLT5mbGFncyAmIE1NQ19CTEtfUkVMX1dSKTsKPj4gKyAobWQtPmZsYWdz ICYgTU1DX0JMS19SRUxfV1IpICYmCj4+ICsgIShjYXJkLT5xdWlya3MgJiBNTUNfUVVJUktfQkxL X05PX0NNRDIzKTsKPgo+IEhpIFlvbmcsCj4KPiBwbHMgY2hlY2sgdGhhdCBjb2RlIGJlbG93Lgo+ Cj4gTU1DX0JMS19SRUxfV1Igd2lsbCBub3QgYmUgZW5hYmxlZCBpZiB3ZSBrbm93IHRoaXMgY2Fy ZCBDQU5OT1Qgc3VwcG9ydAo+IENNRDIzIGZvcm0gU0NSLiBBTkTvvIwgImNhcmQtPnF1aXJrcyAm IE1NQ19RVUlSS19CTEtfTk9fQ01EMjMiIHdvdWxkIGJlCj4gY2hlY2tlZCBoZXJlIGFzIHdlbGwu IFNvIEkgdGhpbmsgeW91ciBjb2RlIGlzIHVubmVjZXNzYXJ5Lgo+Cj4gaWYgKChtZC0+ZmxhZ3Mg JiBNTUNfQkxLX0NNRDIzKSAmJiBtbWNfb3BfbXVsdGkoYnJxLT5jbWQub3Bjb2RlKSAmJgo+IChk b19yZWxfd3IgfHwgIShjYXJkLT5xdWlya3MgJiBNTUNfUVVJUktfQkxLX05PX0NNRDIzKSB8fAo+ IGRvX2RhdGFfdGFnKSkgewo+IGJycS0+c2JjLm9wY29kZSA9IE1NQ19TRVRfQkxPQ0tfQ09VTlQ7 Cj4gYnJxLT5zYmMuYXJnID0gYnJxLT5kYXRhLmJsb2NrcyB8Cj4gKGRvX3JlbF93ciA/ICgxIDw8 IDMxKSA6IDApIHwKPiAoZG9fZGF0YV90YWcgPyAoMSA8PCAyOSkgOiAwKTsKPiBicnEtPnNiYy5m bGFncyA9IE1NQ19SU1BfUjEgfCBNTUNfQ01EX0FDOwo+IGJycS0+bXJxLnNiYyA9ICZicnEtPnNi YzsKPiB9Cj4KPiBUaGFua3MuCj4gU2hhd24KPgo+Pgo+PiBtZW1zZXQoYnJxLCAwLCBzaXplb2Yo c3RydWN0IG1tY19ibGtfcmVxdWVzdCkpOwo+PiBicnEtPm1ycS5jbWQgPSAmYnJxLT5jbWQ7Cj4+ Cj4KPgo+IC0tCj4gU2hhd24gTGluCj4KIAkJIAkgICAJCSAg -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Shawn Lin <shawn.lin@rock-chips.com> |
|---|---|
| Date | 2015-08-17 08:50 +0200 |
| Subject | Re: [PATCH] mmc: block: disable the reliable write If the card does not support CMD23 |
| Message-ID | <pYmp4-7Ww-11@gated-at.bofh.it> |
| In reply to | #1208074 |
On 2015/8/15 20:14, LIYONG wrote:
> Thanks Shawn. Please help to check the below in the mmc_blk_rw_rq_prep:
> if (do_rel_wr)
> mmc_apply_rel_rw(brq, card, req);
>
> I think we need to set the do_rel_wr to false( at the beginning of this function) if the card does not support the CMD23. The above code is executed before the "if ((md->flags & MMC_BLK_CMD23)" code.
>
ok, it makes sense.:)
> Thanks,
> Yong Li
> ----------------------------------------
>> Subject: Re: [PATCH] mmc: block: disable the reliable write If the card does not support CMD23
>> To: sdliyong@gmail.com; chris@printf.net; ulf.hansson@linaro.org; linux-mmc@vger.kernel.org; linux-kernel@vger.kernel.org
>> CC: shawn.lin@rock-chips.com
>> From: shawn.lin@rock-chips.com
>> Date: Fri, 14 Aug 2015 16:13:02 +0800
>>
>> 在 2015/8/14 15:30, sdliyong@gmail.com 写道:
>>> From: Yong Li <sdliyong@gmail.com>
>>>
>>> Signed-off-by: Yong Li <sdliyong@gmail.com>
>>> ---
>>> drivers/mmc/card/block.c | 3 ++-
>>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c
>>> index 452782b..d9e3c45 100644
>>> --- a/drivers/mmc/card/block.c
>>> +++ b/drivers/mmc/card/block.c
>>> @@ -1366,7 +1366,8 @@ static void mmc_blk_rw_rq_prep(struct mmc_queue_req *mqrq,
>>> bool do_rel_wr = ((req->cmd_flags & REQ_FUA) ||
>>> (req->cmd_flags & REQ_META)) &&
>>> (rq_data_dir(req) == WRITE) &&
>>> - (md->flags & MMC_BLK_REL_WR);
>>> + (md->flags & MMC_BLK_REL_WR) &&
>>> + !(card->quirks & MMC_QUIRK_BLK_NO_CMD23);
>>
>> Hi Yong,
>>
>> pls check that code below.
>>
>> MMC_BLK_REL_WR will not be enabled if we know this card CANNOT support
>> CMD23 form SCR. AND, "card->quirks & MMC_QUIRK_BLK_NO_CMD23" would be
>> checked here as well. So I think your code is unnecessary.
>>
>> if ((md->flags & MMC_BLK_CMD23) && mmc_op_multi(brq->cmd.opcode) &&
>> (do_rel_wr || !(card->quirks & MMC_QUIRK_BLK_NO_CMD23) ||
>> do_data_tag)) {
>> brq->sbc.opcode = MMC_SET_BLOCK_COUNT;
>> brq->sbc.arg = brq->data.blocks |
>> (do_rel_wr ? (1 << 31) : 0) |
>> (do_data_tag ? (1 << 29) : 0);
>> brq->sbc.flags = MMC_RSP_R1 | MMC_CMD_AC;
>> brq->mrq.sbc = &brq->sbc;
>> }
>>
>> Thanks.
>> Shawn
>>
>>>
>>> memset(brq, 0, sizeof(struct mmc_blk_request));
>>> brq->mrq.cmd = &brq->cmd;
>>>
>>
>>
>> --
>> Shawn Lin
>>
> N�����r��y���b�X��ǧv�^�){.n�+����{��g"��^n�r���z���h����&���G���h�(�階�ݢj"���m�����z�ޖ���f���h���~�mml==
>
--
Shawn Lin
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web