coresight: Only check bottom two claim bits
[ Upstream commit a4e65842e1142aa18ef36113fbd81d614eaefe5a ] The use of the whole register and == could break the claim mechanism if any of the other bits are used in the future. The referenced doc "PSCI - ARM DEN 0022D" also says to only read and clear the bottom two bits. Use FIELD_GET() to extract only the relevant part. Reviewed-by: Leo Yan <leo.yan@arm.com> Reviewed-by: Yeoreum Yun <yeoreum.yun@arm.com> Signed-off-by: James Clark <james.clark@linaro.org> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com> Link: https://lore.kernel.org/r/20250325-james-coresight-claim-tags-v4-2-dfbd3822b2e5@linaro.org Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
8dbc01f09c
commit
8217fa7d92
@@ -135,7 +135,8 @@ coresight_find_out_connection(struct coresight_device *src_dev,
|
|||||||
|
|
||||||
static inline u32 coresight_read_claim_tags(struct coresight_device *csdev)
|
static inline u32 coresight_read_claim_tags(struct coresight_device *csdev)
|
||||||
{
|
{
|
||||||
return csdev_access_relaxed_read32(&csdev->access, CORESIGHT_CLAIMCLR);
|
return FIELD_GET(CORESIGHT_CLAIM_MASK,
|
||||||
|
csdev_access_relaxed_read32(&csdev->access, CORESIGHT_CLAIMCLR));
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline bool coresight_is_claimed_self_hosted(struct coresight_device *csdev)
|
static inline bool coresight_is_claimed_self_hosted(struct coresight_device *csdev)
|
||||||
|
@@ -32,6 +32,7 @@
|
|||||||
* Coresight device CLAIM protocol.
|
* Coresight device CLAIM protocol.
|
||||||
* See PSCI - ARM DEN 0022D, Section: 6.8.1 Debug and Trace save and restore.
|
* See PSCI - ARM DEN 0022D, Section: 6.8.1 Debug and Trace save and restore.
|
||||||
*/
|
*/
|
||||||
|
#define CORESIGHT_CLAIM_MASK GENMASK(1, 0)
|
||||||
#define CORESIGHT_CLAIM_SELF_HOSTED BIT(1)
|
#define CORESIGHT_CLAIM_SELF_HOSTED BIT(1)
|
||||||
|
|
||||||
#define TIMEOUT_US 100
|
#define TIMEOUT_US 100
|
||||||
|
Reference in New Issue
Block a user