RE: [PATCH v4 14/16] scsi: ufs: ufs-exynos: multi-host configuration for exynosauto

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

 



> +static int exynosauto_ufs_post_hce_enable(struct exynos_ufs *ufs)
> +{
> +       struct ufs_hba *hba = ufs->hba;
> +
> +       /* Enable Virtual Host #1 */
> +       ufshcd_rmwl(hba, MHCTRL_EN_VH_MASK, MHCTRL_EN_VH(1), MHCTRL);
> +       /* Default VH Transfer permissions */
> +       hci_writel(ufs, ALLOW_TRANS_VH_DEFAULT,
> HCI_MH_ALLOWABLE_TRAN_OF_VH);
> +       /* IID information is replaced in TASKTAG[7:5] instead of IID in UCD */
> +       hci_writel(ufs, 0x1, HCI_MH_IID_IN_TASK_TAG);
If I understand correctly, once you set this register,
the hw takes care of properly arbitrating the requests - 
PH + up to 4 VHs total of 5 machines, each supporting 32 requests doorbell.
Can you share what policy the arbiter uses among the 5 doorbells?

You are designating this change to be used in a UFS2.1 platforms, correct?
Are you planning to use the same framework for UFSHCI4.0, which uses MCQ?

Thanks,
Avri
> +
> +       return 0;
> +}




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux