Re: [PATCH 3/3] mmc: rtsx: Add SD Express mode support for RTS5261
From: Christoph Hellwig
Date: Thu Nov 12 2020 - 11:42:20 EST
On Fri, Oct 23, 2020 at 02:12:19PM +0200, Ulf Hansson wrote:
> SD spec mentions the write-protect switch on SD cards, while uSD cards
> doesn't have one. In general, host drivers implement support for it
> via a dedicated GPIO line routed to one of the pins in the SD slot.
>
> In this SD controller case, which is based upon PCI, it works a bit
> differently, as the state of the write protect pin is managed through
> the PCI interface.
>
> If I understand you correctly, you are saying that the controller
> should be able to communicate (upwards to the block layer) its known
> write protect state for the corresponding NVMe device, during
> initialization?
I got an answer form a member of the SD commitee, and the answer is:
"The SD specification define that case very clearly as following.
If card’s access is restricted through one of the SD unique features – PSWD
Lock/Unlock, Temporary or Permanent WP (TWP or PWP) or CPRM then if access
attempt is done through its NVMe interface the card will restrict the access
and respond with Access denied. The access restriction shall be removed
through the SD protocol/interface before being able to access the card through
the NVMe.
That is defined as following in the section 8.1.6 of the SD7.0 onward."
Note that if you look at the spec this means only rejecting NVMe commands
that write dta for the write protect pin.