From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 3522A41D134 for ; Mon, 3 Aug 2026 14:21:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.140.110.172 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785766904; cv=none; b=RaI6mSryCQN3myvtRYFE85pzri5NKUgpEXw58BRnunWRVDfetaJVnZek5MXFjB5bxkHW3o+VXUIjy/JiXyyOOf//ZMm2Vbis9KchxE4KW6gQT5pROc6aEmpPnvpNBu+jDoH49hC2VySIkwnBgMl14tP3B+MGvB7h8wZoi+SyI9s= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785766904; c=relaxed/simple; bh=7l+N0sd796XnyrlqE8AgBtWey5qpGTXY12zNAU7Ue+0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=F8GRiHR3eV1EZ139Qxa4bL6bdsWi4Qm50RVfQNEu2vmeRMTSqL+E/bu/dwO+rFv+vV6Qe7KnDlKElrPvprEueHX0dWxSREebXX5JhALPefs8108a7egfR+/HXsqlXn6myRz2QB3hw7Yv6JEBKyqrVusr5hv81Kt1yHh6YUABD7k= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com; spf=pass smtp.mailfrom=arm.com; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b=ZOScJFUR; arc=none smtp.client-ip=217.140.110.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b="ZOScJFUR" Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id B40101476; Mon, 3 Aug 2026 07:21:38 -0700 (PDT) Received: from e135116.arm.com (unknown [10.57.0.74]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id D84E43F632; Mon, 3 Aug 2026 07:21:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=arm.com; s=foss; t=1785766902; bh=7l+N0sd796XnyrlqE8AgBtWey5qpGTXY12zNAU7Ue+0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ZOScJFURtAafgOWpGnTk/+4UHQDXFo2OY4heG9fXgJCFAnIkaaIjKoxgbng5CdT+U LAO10r1plQQyx3uywUJf/WmcETUki2OXhSzvazybf84vgz0wdRTEAs7Sq5EK/xePaD A9djJqqNMlZT/XaXUfzVVsxZx5Qi5D+l2U2clyiM= From: Raveendra Talabattula To: dri-devel@lists.freedesktop.org Cc: linux-kernel@vger.kernel.org, Raveendra Talabattula , liviu.dudau@arm.com, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, james.qian.wang@arm.com, asad.malik@arm.com, vincenzo.frascino@arm.com, nayden.kanchev@arm.com, charvi.mehta@arm.com Subject: [PATCH v2 1/2] drm/komeda: Fix bits parsing of GLB_CORE_ID Date: Mon, 3 Aug 2026 15:21:21 +0100 Message-ID: <20260803142122.4127851-2-raveendra.talabattula@arm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260803142122.4127851-1-raveendra.talabattula@arm.com> References: <20260803142122.4127851-1-raveendra.talabattula@arm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit GLB_CORE_ID contains the product and version information returned by the hardware. The current macros parses VERSION_MINOR as a 4-bit field and VERSION_STATUS as an 8-bit field, which does not match the register layout. As a result, the driver reports an incorrect version number. Fix the parsing macros to match the hardware specification: - VERSION_MINOR is 8 bits at [11:4] - VERSION_STATUS is 4 bits at [3:0] Fixes: bd628c1bed79 ("drm/komeda: komeda_dev/pipeline/component definition and initialzation") Signed-off-by: Raveendra Talabattula Reviewed-by: Liviu Dudau --- drivers/gpu/drm/arm/display/include/malidp_product.h | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/arm/display/include/malidp_product.h b/drivers/gpu/drm/arm/display/include/malidp_product.h index 6f954bcdf40e..f9a3ee7ba4b7 100644 --- a/drivers/gpu/drm/arm/display/include/malidp_product.h +++ b/drivers/gpu/drm/arm/display/include/malidp_product.h @@ -8,14 +8,18 @@ #define _MALIDP_PRODUCT_H_ /* Product identification */ +/* GLB_CORE_ID fields as per HW specification: + * MINOR is 8 bits ([11:4]) and STATUS is 4 bits ([3:0]). + * Update masks/shifts accordingly. + */ #define MALIDP_CORE_ID(__product, __major, __minor, __status) \ ((((__product) & 0xFFFF) << 16) | (((__major) & 0xF) << 12) | \ - (((__minor) & 0xF) << 8) | ((__status) & 0xFF)) + (((__minor) & 0xFF) << 4) | ((__status) & 0xF)) #define MALIDP_CORE_ID_PRODUCT_ID(__core_id) ((__u32)(__core_id) >> 16) #define MALIDP_CORE_ID_MAJOR(__core_id) (((__u32)(__core_id) >> 12) & 0xF) -#define MALIDP_CORE_ID_MINOR(__core_id) (((__u32)(__core_id) >> 8) & 0xF) -#define MALIDP_CORE_ID_STATUS(__core_id) (((__u32)(__core_id)) & 0xFF) +#define MALIDP_CORE_ID_MINOR(__core_id) (((__u32)(__core_id) >> 4) & 0xFF) +#define MALIDP_CORE_ID_STATUS(__core_id) ((__u32)(__core_id) & 0xF) /* Mali-display product IDs */ #define MALIDP_D71_PRODUCT_ID 0x0071 -- 2.43.0