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;
> +}




[Index of Archives]     [Linux SoC Development]     [Linux Rockchip Development]     [Linux for Synopsys ARC Processors]    
  • [Linux on Unisoc (RDA Micro) SoCs]     [Linux Actions SoC]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Linux SCSI]     [Yosemite News]

  •   Powered by Linux