
21 Mar
2019
21 Mar
'19
11:36 a.m.
On 3/20/2019 4:31 PM, laurentiu.tudor@nxp.com wrote:
+struct icid_id_table icid_tbl[] = {
- SET_SDHC_ICID(FSL_SDMMC_STREAM_ID),
- SET_USB_ICID(1, "snps,dwc3", FSL_USB1_STREAM_ID),
- SET_USB_ICID(2, "snps,dwc3", FSL_USB2_STREAM_ID),
- SET_SATA_ICID(1, "fsl,ls1088a-ahci", FSL_SATA1_STREAM_ID),
- SET_SEC_JR_ICID_ENTRY(0, FSL_SEC_STREAM_ID),
- SET_SEC_JR_ICID_ENTRY(1, FSL_SEC_STREAM_ID),
- SET_SEC_JR_ICID_ENTRY(2, FSL_SEC_STREAM_ID),
- SET_SEC_JR_ICID_ENTRY(3, FSL_SEC_STREAM_ID),
- SET_SEC_RTIC_ICID_ENTRY(0, FSL_SEC_STREAM_ID),
- SET_SEC_RTIC_ICID_ENTRY(1, FSL_SEC_STREAM_ID),
- SET_SEC_RTIC_ICID_ENTRY(2, FSL_SEC_STREAM_ID),
- SET_SEC_RTIC_ICID_ENTRY(3, FSL_SEC_STREAM_ID),
- SET_SEC_DECO_ICID_ENTRY(0, FSL_SEC_STREAM_ID),
- SET_SEC_DECO_ICID_ENTRY(1, FSL_SEC_STREAM_ID),
- SET_SEC_DECO_ICID_ENTRY(2, FSL_SEC_STREAM_ID),
- SET_SEC_DECO_ICID_ENTRY(3, FSL_SEC_STREAM_ID),
+};
A single ICID is allocated to all SEC sub-blocks able to initiate transactions. I think at least the job rings should have different ICIDs, while the rest could share another ICID.
#define SET_SEC_QI_ICID(streamid) \
- SET_ICID_ENTRY("fsl,sec-v4.0", streamid, \
- SET_ICID_ENTRY("fsl,sec-v4.0", SEC_ICID_REG_VAL(streamid), \
Is this a fix for LS104x? Then it should be a separate patch.
+#else /* CONFIG_FSL_LSCH2 */
[...]
+#define SEC_ICID_REG_VAL(streamid) ((streamid) << 24)
ICID is in lower 6:0 bits, not in 31:24.
+#endif /* !CONFIG_FSL_LSCH2 */
Nitpick: comment for #endif should match #if condition, which is CONFIG_FSL_LSCH2.
Horia