RE: [PATCH v3 07/17] ufs: core: mcq: Calculate queue depth

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

 



> On 10/20/22 11:03, Asutosh Das wrote:
> > +u32 ufshcd_mcq_decide_queue_depth(struct ufs_hba *hba)
> > +{
> > +     u32 qd, val;
> > +     int mac;
> > +
> > +     mac = ufshcd_mcq_vops_get_hba_mac(hba);
> > +     if (mac < 0) {
> > +             val = ufshcd_readl(hba, REG_UFS_MCQ_CFG);
> > +             mac = FIELD_GET(MCQ_CFG_MAC_MASK, val);
> > +     }
> 
> According to the UFSHCI 4.0 specification the MAC value is set by the
> host. Can the above code read the MAC value from the host controller
> before it has been set by the host? If so, how about leaving out the
> code that reads the MAC value from the controller and making it
> mandatory to implement the new get_hba_mac vop?
> 
> > +
> > +     /*  MAC is a 0 based value. */
> > +     mac += 1;
> > +     /* max. value of bqueuedepth = 256, mac is host dependent */
> 
> host dependent -> defined by the host controller?
> 
> > +     qd = min_t(u32, mac, hba->dev_info.bqueuedepth);
> > +     if (!qd)
> > +             qd = mac;
Isn't if mcq is supported bqueuedepth can't be zero?
The device must implements the shared queueing architecture.

Thanks,
Avri

> 
> How about using min_not_zero() instead of open-coding it?
> 
> Thanks,
> 
> Bart.




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux