RE: [PATCH v7 09/10] mmc: core: Prevent HSQ from enabling for SDUC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> On 9/8/24 11:20, Avri Altman wrote:
> > Prevent Host Software Queue from enabling for SDUC. In SDUC, CMD44 is
> > modified to include 6-bit upper address by utilizing its reserved bits.
> > Exclude hsq for SDUC for now.
> 
> The message here is misleading, actually hsq has nothing to do with the actual CQ
> as in CMD44, it's just a hack to present itself to the mmc subsystem as such to
> then get more in-flight requests from mmc core, which can be prepared in
> advance and be issued asynchronously to the completion of the preceding
> request (in atomic context). So the card is completely oblivious to hsq.
> This is presumably broken though by the mandatory CMD22 for SDUC.
Thanks.
Somehow, I thought that hsq relies on hw command queue engine.
If totally necessary, I will fix it in the next spin.

Thanks,
Avri
> 
> >
> > Signed-off-by: Avri Altman <avri.altman@xxxxxxx>
> > ---
> >  drivers/mmc/core/sd.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/mmc/core/sd.c b/drivers/mmc/core/sd.c index
> > 1d09f0f2e769..5d35fc8802c7 100644
> > --- a/drivers/mmc/core/sd.c
> > +++ b/drivers/mmc/core/sd.c
> > @@ -1558,7 +1558,7 @@ static int mmc_sd_init_card(struct mmc_host *host,
> u32 ocr,
> >                       goto free_card;
> >       }
> >
> > -     if (host->cqe_ops && !host->cqe_enabled) {
> > +     if (!mmc_card_ult_capacity(card) && host->cqe_ops &&
> > + !host->cqe_enabled) {
> >               err = host->cqe_ops->cqe_enable(host, card);
> >               if (!err) {
> >                       host->cqe_enabled = true;





[Index of Archives]     [Linux Memonry Technology]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux