Received: by 2002:a05:6a10:7420:0:0:0:0 with SMTP id hk32csp259710pxb; Tue, 15 Feb 2022 12:43:32 -0800 (PST) X-Google-Smtp-Source: ABdhPJxYieoUp4+8tNrv4Ek5aaOYaT64gegNOwqYfV46cAfrxVypvxL5TVrRpq2/CviNNW+kT5Ri X-Received: by 2002:a17:902:9307:: with SMTP id bc7mr800140plb.140.1644957812528; Tue, 15 Feb 2022 12:43:32 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1644957812; cv=none; d=google.com; s=arc-20160816; b=NTncXuRrksSZ1GBg+Iwpge+3wtj9AHRIy5W89dLOloXC+5QMPBL+L1TuZeYbVEn2oa mlkS6d9gEu99SNcwhThChHJOve4GM1OARJrmM/eE0eLjA10sLWiLZTaiy3/oa8cxyucA KYoXEp/W1tB/WmFGqVH8cxlJPBMoRe4kIOy9GgX1FOPkEx+yLSI2GITB08earQzdrAts xq3nRY8WMWl0ORMH3hA8JweUbX39DMoalwzytloTdREmQuZ69nYfOXsGo7Qs377SCCLY 66PjTuQ7yagQLCjqkwEpZTVwwhaK5UXuoalDMPAYn+Y40YSP6U3KvVj6gBNbp6YHAI16 xW2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=diXIDKZlWKx4lZHkonoWfHjl5d9kADjdlgdLGQlsd8E=; b=KajOdt9+gObqUFr9vgrWz346VDJVqI5DcmVNhH3+FQiIh9MQo+XlDs5Ia1aacbbYNT 1dCQojTS4vVHQP/xcjUFzLdFosnk7HLm/4DbOCjYkQVKLfHyYqa4XBTgqA+/e+NzqS6z z8tmVAqw2B1Hd1Ey0ERH/Tzj4mcnIXCqpBpRKNR7IdjKswz0InYEnHK3SabuVf8Vi/XF z4Tff1HM1PtpefuRYhpdmW8au+1/ofbPVAAW/cPmsgIdLno+8su6nN+O5KF/UVXuaIMQ 6UlcaJDBEQkp6wO3S1A8mopmbdbbm/tA0hYY6HMXAjj5BSOO1EnadYEVcqheSYFwJNUR Uipw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id z1si8985448plg.513.2022.02.15.12.43.16; Tue, 15 Feb 2022 12:43:32 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241909AbiBOQwr (ORCPT + 99 others); Tue, 15 Feb 2022 11:52:47 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:60032 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241841AbiBOQwp (ORCPT ); Tue, 15 Feb 2022 11:52:45 -0500 Received: from michel.telenet-ops.be (michel.telenet-ops.be [IPv6:2a02:1800:110:4::f00:18]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6A5929E564 for ; Tue, 15 Feb 2022 08:52:34 -0800 (PST) Received: from ramsan.of.borg ([IPv6:2a02:1810:ac12:ed40:7534:e0be:5adf:2691]) by michel.telenet-ops.be with bizsmtp id vUsV2600Z18GbK106UsWDe; Tue, 15 Feb 2022 17:52:32 +0100 Received: from rox.of.borg ([192.168.97.57]) by ramsan.of.borg with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.93) (envelope-from ) id 1nK141-000tUq-B1; Tue, 15 Feb 2022 17:52:29 +0100 Received: from geert by rox.of.borg with local (Exim 4.93) (envelope-from ) id 1nK140-00BUS5-2t; Tue, 15 Feb 2022 17:52:28 +0100 From: Geert Uytterhoeven To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Daniel Vetter , Helge Deller , Javier Martinez Canillas Cc: dri-devel@lists.freedesktop.org, linux-fbdev@vger.kernel.org, linux-m68k@vger.kernel.org, linux-kernel@vger.kernel.org, Geert Uytterhoeven Subject: [PATCH 7/8] drm/fourcc: Add DRM_FORMAT_R[124] Date: Tue, 15 Feb 2022 17:52:25 +0100 Message-Id: <20220215165226.2738568-8-geert@linux-m68k.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220215165226.2738568-1-geert@linux-m68k.org> References: <20220215165226.2738568-1-geert@linux-m68k.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_LOW, SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Introduce fourcc codes for single-channel frame buffer formats with two, four, and sixteen intensity levels. Traditionally, the first channel has been called the "red" channel, but the fourcc can also be used for other light-on-dark displays. As the number of bits per pixel is less than eight, these rely on proper block handling for the calculation of bits per pixel and pitch. Signed-off-by: Geert Uytterhoeven --- drivers/gpu/drm/drm_fourcc.c | 6 ++++++ include/uapi/drm/drm_fourcc.h | 9 +++++++++ 2 files changed, 15 insertions(+) diff --git a/drivers/gpu/drm/drm_fourcc.c b/drivers/gpu/drm/drm_fourcc.c index 5c77ce10f53e3a64..c12e48ecb1ab8aad 100644 --- a/drivers/gpu/drm/drm_fourcc.c +++ b/drivers/gpu/drm/drm_fourcc.c @@ -151,6 +151,12 @@ const struct drm_format_info *__drm_format_info(u32 format) { .format = DRM_FORMAT_C4, .depth = 4, .num_planes = 1, .char_per_block = { 1, }, .block_w = { 2, }, .block_h = { 1, }, .hsub = 1, .vsub = 1 }, { .format = DRM_FORMAT_C8, .depth = 8, .num_planes = 1, .cpp = { 1, 0, 0 }, .hsub = 1, .vsub = 1 }, + { .format = DRM_FORMAT_R1, .depth = 1, .num_planes = 1, + .char_per_block = { 1, }, .block_w = { 8, }, .block_h = { 1, }, .hsub = 1, .vsub = 1 }, + { .format = DRM_FORMAT_R2, .depth = 2, .num_planes = 1, + .char_per_block = { 1, }, .block_w = { 4, }, .block_h = { 1, }, .hsub = 1, .vsub = 1 }, + { .format = DRM_FORMAT_R4, .depth = 4, .num_planes = 1, + .char_per_block = { 1, }, .block_w = { 2, }, .block_h = { 1, }, .hsub = 1, .vsub = 1 }, { .format = DRM_FORMAT_R8, .depth = 8, .num_planes = 1, .cpp = { 1, 0, 0 }, .hsub = 1, .vsub = 1 }, { .format = DRM_FORMAT_R10, .depth = 10, .num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1 }, { .format = DRM_FORMAT_R12, .depth = 12, .num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1 }, diff --git a/include/uapi/drm/drm_fourcc.h b/include/uapi/drm/drm_fourcc.h index 3f09174670b3cce6..8605a1acc6813e6c 100644 --- a/include/uapi/drm/drm_fourcc.h +++ b/include/uapi/drm/drm_fourcc.h @@ -104,6 +104,15 @@ extern "C" { #define DRM_FORMAT_C4 fourcc_code('C', '4', ' ', ' ') /* [3:0] C */ #define DRM_FORMAT_C8 fourcc_code('C', '8', ' ', ' ') /* [7:0] C */ +/* 1 bpp Red */ +#define DRM_FORMAT_R1 fourcc_code('R', '1', ' ', ' ') /* [0] R */ + +/* 2 bpp Red */ +#define DRM_FORMAT_R2 fourcc_code('R', '2', ' ', ' ') /* [1:0] R */ + +/* 4 bpp Red */ +#define DRM_FORMAT_R4 fourcc_code('R', '4', ' ', ' ') /* [3:0] R */ + /* 8 bpp Red */ #define DRM_FORMAT_R8 fourcc_code('R', '8', ' ', ' ') /* [7:0] R */ -- 2.25.1