Messages in this thread | | | From | Ulf Hansson <> | Date | Thu, 26 Apr 2018 08:28:04 +0200 | Subject | Re: [RFC 0/2] dw_mmc: add multislot support |
| |
[...]
> A bit remark for better understanding: > > All card settings change are serialized too. These settings are applied > after slot switch before execution of new request for this slot. > > So situations like calling any host_0 ops while another host (host_1) is active > are handled by current code. > > This is example of simultaneous ops calls for both slots: > > host (slot) 0 | host (slot) 1 > ----------------------------------- > h0->set_ios() | h1->set_ios() > h0->request() | h1->request() > h0->set_ios() | h1->set_ios() > h0->request() | h1->request() > h0->request() | > h0->request() | > h0->request() | > > How it will be serialized in the mmc driver: > > h0->set_ios() // h0 settings save > h1->set_ios() // h1 settings save > h0->request() // apply settings for h0 and do request
This doesn't work as it would mean violation of the specs in some scenarios. Particular during the card initialization and card power off.
> ------ slot switch to h1 ------ > h1->request() // apply settings for h1 and do request
Ditto. Etc...
> h0->set_ios() // h0 settings save > h1->set_ios() // h1 settings save > ------ slot switch to h0 ------ > h0->request() // apply settings for h0 and do request > ------ slot switch to h1 ------ > h1->request() // apply settings for h1 and do request > ------ slot switch to h0 ------ > h0->request() // do request (no new settings to apply) > h0->request() // do request (no new settings to apply) > h0->request() // do request (no new settings to apply) >
Kind regards Uffe
| |