From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.3 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id CE824C48BC2 for ; Mon, 7 Jun 2021 06:46:53 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id B658D61153 for ; Mon, 7 Jun 2021 06:46:53 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230220AbhFGGsn (ORCPT ); Mon, 7 Jun 2021 02:48:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35104 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229470AbhFGGsl (ORCPT ); Mon, 7 Jun 2021 02:48:41 -0400 Received: from srv6.fidu.org (srv6.fidu.org [IPv6:2a01:4f8:231:de0::2]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CB935C061766 for ; Sun, 6 Jun 2021 23:46:50 -0700 (PDT) Received: from localhost (localhost.localdomain [127.0.0.1]) by srv6.fidu.org (Postfix) with ESMTP id 0C3B8C800E1; Mon, 7 Jun 2021 08:46:48 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at srv6.fidu.org Received: from srv6.fidu.org ([127.0.0.1]) by localhost (srv6.fidu.org [127.0.0.1]) (amavisd-new, port 10024) with LMTP id CcSs6_Du4AyO; Mon, 7 Jun 2021 08:46:47 +0200 (CEST) Received: from [IPv6:2003:e3:7f4f:6000:f5f4:4cdd:8015:9770] (p200300E37F4f6000F5F44cDd80159770.dip0.t-ipconnect.de [IPv6:2003:e3:7f4f:6000:f5f4:4cdd:8015:9770]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: wse@tuxedocomputers.com) by srv6.fidu.org (Postfix) with ESMTPSA id 71043C800DF; Mon, 7 Jun 2021 08:46:47 +0200 (CEST) Subject: Re: [PATCH 2/4] drm/uAPI: Add "active bpc" as feedback channel for "max bpc" drm property To: =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= Cc: amd-gfx@lists.freedesktop.org, tzimmermann@suse.de, intel-gfx@lists.freedesktop.org, sunpeng.li@amd.com, dri-devel@lists.freedesktop.org, joonas.lahtinen@linux.intel.com, maarten.lankhorst@linux.intel.com, linux-kernel@vger.kernel.org, mripard@kernel.org, airlied@linux.ie, jani.nikula@linux.intel.com, daniel@ffwll.ch, rodrigo.vivi@intel.com, alexander.deucher@amd.com, harry.wentland@amd.com, christian.koenig@amd.com References: <20210604171723.10276-1-wse@tuxedocomputers.com> <20210604171723.10276-3-wse@tuxedocomputers.com> From: Werner Sembach Message-ID: Date: Mon, 7 Jun 2021 08:46:47 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Am 04.06.21 um 19:26 schrieb Ville Syrjälä: > On Fri, Jun 04, 2021 at 07:17:21PM +0200, Werner Sembach wrote: >> Add a new general drm property "active bpc" which can be used by graphic drivers >> to report the applied bit depth per pixel back to userspace. >> >> While "max bpc" can be used to change the color depth, there was no way to check >> which one actually got used. While in theory the driver chooses the best/highest >> color depth within the max bpc setting a user might not be fully aware what his >> hardware is or isn't capable off. This is meant as a quick way to double check >> the setup. >> >> In the future, automatic color calibration for screens might also depend on this >> information available. >> >> Signed-off-by: Werner Sembach >> --- >> drivers/gpu/drm/drm_atomic_uapi.c | 2 ++ >> drivers/gpu/drm/drm_connector.c | 40 +++++++++++++++++++++++++++++++ >> include/drm/drm_connector.h | 15 ++++++++++++ >> 3 files changed, 57 insertions(+) >> >> diff --git a/drivers/gpu/drm/drm_atomic_uapi.c b/drivers/gpu/drm/drm_atomic_uapi.c >> index 268bb69c2e2f..7ae4e40936b5 100644 >> --- a/drivers/gpu/drm/drm_atomic_uapi.c >> +++ b/drivers/gpu/drm/drm_atomic_uapi.c >> @@ -873,6 +873,8 @@ drm_atomic_connector_get_property(struct drm_connector *connector, >> *val = 0; >> } else if (property == connector->max_bpc_property) { >> *val = state->max_requested_bpc; >> + } else if (property == connector->active_bpc_property) { >> + *val = state->active_bpc; >> } else if (connector->funcs->atomic_get_property) { >> return connector->funcs->atomic_get_property(connector, >> state, property, val); >> diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c >> index 7631f76e7f34..5f42a5be5822 100644 >> --- a/drivers/gpu/drm/drm_connector.c >> +++ b/drivers/gpu/drm/drm_connector.c >> @@ -1195,6 +1195,13 @@ static const struct drm_prop_enum_list dp_colorspaces[] = { >> * drm_connector_attach_max_bpc_property() to create and attach the >> * property to the connector during initialization. >> * >> + * active bpc: >> + * This read-only range property is used by userspace check the bit depth >> + * actually applied by the GPU driver after evaluation all hardware >> + * capabilities and max bpc. Drivers to use the function >> + * drm_connector_attach_active_bpc_property() to create and attach the >> + * property to the connector during initialization. >> + * >> * Connectors also have one standardized atomic property: >> * >> * CRTC_ID: >> @@ -2150,6 +2157,39 @@ int drm_connector_attach_max_bpc_property(struct drm_connector *connector, >> } >> EXPORT_SYMBOL(drm_connector_attach_max_bpc_property); >> >> +/** >> + * drm_connector_attach_active_bpc_property - attach "active bpc" property >> + * @connector: connector to attach active bpc property on. >> + * @min: The minimum bit depth supported by the connector. >> + * @max: The maximum bit depth supported by the connector. >> + * >> + * This is used to check the applied bit depth on a connector. >> + * >> + * Returns: >> + * Zero on success, negative errno on failure. >> + */ >> +int drm_connector_attach_active_bpc_property(struct drm_connector *connector, >> + int min, int max) >> +{ >> + struct drm_device *dev = connector->dev; >> + struct drm_property *prop; >> + >> + prop = connector->active_bpc_property; >> + if (!prop) { >> + prop = drm_property_create_range(dev, 0, "active bpc", min, max); > Should be immutable. Yes. I didn't know if there is a way to do this (or just don't define a set-function), but I think I found the define for this. > > Also wondering what the semantics of this should be when eg. DSC > is active? I'm unfamiliar how the inner workings of DSC (I guess Display Stream Compression?) are. But doesn't it also have color depth? The active bpc should be what the GPU tells the display to actually show the user when he looks at just one pixel. So dithering computed on the host should not be included (aka when the gpu sends a premade picture to the screen and tells it the lesser pbc), while FRC dithering computed in the display firmware should be included (since the GPU can't really tell the difference between FRC displays and True 10-Bit displays, can't it?) > >> + if (!prop) >> + return -ENOMEM; >> + >> + connector->active_bpc_property = prop; >> + } >> + >> + drm_object_attach_property(&connector->base, prop, 0); >> + connector->state->active_bpc = 0; >> + >> + return 0; >> +} >> +EXPORT_SYMBOL(drm_connector_attach_active_bpc_property); >> + >> /** >> * drm_connector_set_vrr_capable_property - sets the variable refresh rate >> * capable property for a connector >> diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h >> index 1922b278ffad..c58cba2b6afe 100644 >> --- a/include/drm/drm_connector.h >> +++ b/include/drm/drm_connector.h >> @@ -781,6 +781,13 @@ struct drm_connector_state { >> */ >> u8 max_bpc; >> >> + /** >> + * @active_bpc: Read only property set by the GPU driver to the actually >> + * applied bit depth of the pixels after evaluating all hardware >> + * limitations. >> + */ >> + u8 active_bpc; >> + >> /** >> * @hdr_output_metadata: >> * DRM blob property for HDR output metadata >> @@ -1380,6 +1387,12 @@ struct drm_connector { >> */ >> struct drm_property *max_bpc_property; >> >> + /** >> + * @active_bpc_property: Default connector property for the active bpc >> + * to be driven out of the connector. >> + */ >> + struct drm_property *active_bpc_property; >> + >> #define DRM_CONNECTOR_POLL_HPD (1 << 0) >> #define DRM_CONNECTOR_POLL_CONNECT (1 << 1) >> #define DRM_CONNECTOR_POLL_DISCONNECT (1 << 2) >> @@ -1698,6 +1711,8 @@ int drm_connector_set_panel_orientation_with_quirk( >> int width, int height); >> int drm_connector_attach_max_bpc_property(struct drm_connector *connector, >> int min, int max); >> +int drm_connector_attach_active_bpc_property(struct drm_connector *connector, >> + int min, int max); >> >> /** >> * struct drm_tile_group - Tile group metadata >> -- >> 2.25.1 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.3 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 18238C4743C for ; Mon, 7 Jun 2021 06:46:53 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id DB26961159 for ; Mon, 7 Jun 2021 06:46:52 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org DB26961159 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=tuxedocomputers.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id DC3406E1D3; Mon, 7 Jun 2021 06:46:50 +0000 (UTC) Received: from srv6.fidu.org (srv6.fidu.org [159.69.62.71]) by gabe.freedesktop.org (Postfix) with ESMTPS id BB7646E198; Mon, 7 Jun 2021 06:46:49 +0000 (UTC) Received: from localhost (localhost.localdomain [127.0.0.1]) by srv6.fidu.org (Postfix) with ESMTP id 0C3B8C800E1; Mon, 7 Jun 2021 08:46:48 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at srv6.fidu.org Received: from srv6.fidu.org ([127.0.0.1]) by localhost (srv6.fidu.org [127.0.0.1]) (amavisd-new, port 10024) with LMTP id CcSs6_Du4AyO; Mon, 7 Jun 2021 08:46:47 +0200 (CEST) Received: from [IPv6:2003:e3:7f4f:6000:f5f4:4cdd:8015:9770] (p200300E37F4f6000F5F44cDd80159770.dip0.t-ipconnect.de [IPv6:2003:e3:7f4f:6000:f5f4:4cdd:8015:9770]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: wse@tuxedocomputers.com) by srv6.fidu.org (Postfix) with ESMTPSA id 71043C800DF; Mon, 7 Jun 2021 08:46:47 +0200 (CEST) Subject: Re: [PATCH 2/4] drm/uAPI: Add "active bpc" as feedback channel for "max bpc" drm property To: =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= References: <20210604171723.10276-1-wse@tuxedocomputers.com> <20210604171723.10276-3-wse@tuxedocomputers.com> From: Werner Sembach Message-ID: Date: Mon, 7 Jun 2021 08:46:47 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: sunpeng.li@amd.com, intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, airlied@linux.ie, amd-gfx@lists.freedesktop.org, tzimmermann@suse.de, rodrigo.vivi@intel.com, alexander.deucher@amd.com, christian.koenig@amd.com Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Am 04.06.21 um 19:26 schrieb Ville Syrjälä: > On Fri, Jun 04, 2021 at 07:17:21PM +0200, Werner Sembach wrote: >> Add a new general drm property "active bpc" which can be used by graphic drivers >> to report the applied bit depth per pixel back to userspace. >> >> While "max bpc" can be used to change the color depth, there was no way to check >> which one actually got used. While in theory the driver chooses the best/highest >> color depth within the max bpc setting a user might not be fully aware what his >> hardware is or isn't capable off. This is meant as a quick way to double check >> the setup. >> >> In the future, automatic color calibration for screens might also depend on this >> information available. >> >> Signed-off-by: Werner Sembach >> --- >> drivers/gpu/drm/drm_atomic_uapi.c | 2 ++ >> drivers/gpu/drm/drm_connector.c | 40 +++++++++++++++++++++++++++++++ >> include/drm/drm_connector.h | 15 ++++++++++++ >> 3 files changed, 57 insertions(+) >> >> diff --git a/drivers/gpu/drm/drm_atomic_uapi.c b/drivers/gpu/drm/drm_atomic_uapi.c >> index 268bb69c2e2f..7ae4e40936b5 100644 >> --- a/drivers/gpu/drm/drm_atomic_uapi.c >> +++ b/drivers/gpu/drm/drm_atomic_uapi.c >> @@ -873,6 +873,8 @@ drm_atomic_connector_get_property(struct drm_connector *connector, >> *val = 0; >> } else if (property == connector->max_bpc_property) { >> *val = state->max_requested_bpc; >> + } else if (property == connector->active_bpc_property) { >> + *val = state->active_bpc; >> } else if (connector->funcs->atomic_get_property) { >> return connector->funcs->atomic_get_property(connector, >> state, property, val); >> diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c >> index 7631f76e7f34..5f42a5be5822 100644 >> --- a/drivers/gpu/drm/drm_connector.c >> +++ b/drivers/gpu/drm/drm_connector.c >> @@ -1195,6 +1195,13 @@ static const struct drm_prop_enum_list dp_colorspaces[] = { >> * drm_connector_attach_max_bpc_property() to create and attach the >> * property to the connector during initialization. >> * >> + * active bpc: >> + * This read-only range property is used by userspace check the bit depth >> + * actually applied by the GPU driver after evaluation all hardware >> + * capabilities and max bpc. Drivers to use the function >> + * drm_connector_attach_active_bpc_property() to create and attach the >> + * property to the connector during initialization. >> + * >> * Connectors also have one standardized atomic property: >> * >> * CRTC_ID: >> @@ -2150,6 +2157,39 @@ int drm_connector_attach_max_bpc_property(struct drm_connector *connector, >> } >> EXPORT_SYMBOL(drm_connector_attach_max_bpc_property); >> >> +/** >> + * drm_connector_attach_active_bpc_property - attach "active bpc" property >> + * @connector: connector to attach active bpc property on. >> + * @min: The minimum bit depth supported by the connector. >> + * @max: The maximum bit depth supported by the connector. >> + * >> + * This is used to check the applied bit depth on a connector. >> + * >> + * Returns: >> + * Zero on success, negative errno on failure. >> + */ >> +int drm_connector_attach_active_bpc_property(struct drm_connector *connector, >> + int min, int max) >> +{ >> + struct drm_device *dev = connector->dev; >> + struct drm_property *prop; >> + >> + prop = connector->active_bpc_property; >> + if (!prop) { >> + prop = drm_property_create_range(dev, 0, "active bpc", min, max); > Should be immutable. Yes. I didn't know if there is a way to do this (or just don't define a set-function), but I think I found the define for this. > > Also wondering what the semantics of this should be when eg. DSC > is active? I'm unfamiliar how the inner workings of DSC (I guess Display Stream Compression?) are. But doesn't it also have color depth? The active bpc should be what the GPU tells the display to actually show the user when he looks at just one pixel. So dithering computed on the host should not be included (aka when the gpu sends a premade picture to the screen and tells it the lesser pbc), while FRC dithering computed in the display firmware should be included (since the GPU can't really tell the difference between FRC displays and True 10-Bit displays, can't it?) > >> + if (!prop) >> + return -ENOMEM; >> + >> + connector->active_bpc_property = prop; >> + } >> + >> + drm_object_attach_property(&connector->base, prop, 0); >> + connector->state->active_bpc = 0; >> + >> + return 0; >> +} >> +EXPORT_SYMBOL(drm_connector_attach_active_bpc_property); >> + >> /** >> * drm_connector_set_vrr_capable_property - sets the variable refresh rate >> * capable property for a connector >> diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h >> index 1922b278ffad..c58cba2b6afe 100644 >> --- a/include/drm/drm_connector.h >> +++ b/include/drm/drm_connector.h >> @@ -781,6 +781,13 @@ struct drm_connector_state { >> */ >> u8 max_bpc; >> >> + /** >> + * @active_bpc: Read only property set by the GPU driver to the actually >> + * applied bit depth of the pixels after evaluating all hardware >> + * limitations. >> + */ >> + u8 active_bpc; >> + >> /** >> * @hdr_output_metadata: >> * DRM blob property for HDR output metadata >> @@ -1380,6 +1387,12 @@ struct drm_connector { >> */ >> struct drm_property *max_bpc_property; >> >> + /** >> + * @active_bpc_property: Default connector property for the active bpc >> + * to be driven out of the connector. >> + */ >> + struct drm_property *active_bpc_property; >> + >> #define DRM_CONNECTOR_POLL_HPD (1 << 0) >> #define DRM_CONNECTOR_POLL_CONNECT (1 << 1) >> #define DRM_CONNECTOR_POLL_DISCONNECT (1 << 2) >> @@ -1698,6 +1711,8 @@ int drm_connector_set_panel_orientation_with_quirk( >> int width, int height); >> int drm_connector_attach_max_bpc_property(struct drm_connector *connector, >> int min, int max); >> +int drm_connector_attach_active_bpc_property(struct drm_connector *connector, >> + int min, int max); >> >> /** >> * struct drm_tile_group - Tile group metadata >> -- >> 2.25.1 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.3 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A56DEC47082 for ; Mon, 7 Jun 2021 06:46:51 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 4A7A5611C0 for ; Mon, 7 Jun 2021 06:46:51 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4A7A5611C0 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=tuxedocomputers.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id A9F9E6E198; Mon, 7 Jun 2021 06:46:50 +0000 (UTC) Received: from srv6.fidu.org (srv6.fidu.org [159.69.62.71]) by gabe.freedesktop.org (Postfix) with ESMTPS id BB7646E198; Mon, 7 Jun 2021 06:46:49 +0000 (UTC) Received: from localhost (localhost.localdomain [127.0.0.1]) by srv6.fidu.org (Postfix) with ESMTP id 0C3B8C800E1; Mon, 7 Jun 2021 08:46:48 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at srv6.fidu.org Received: from srv6.fidu.org ([127.0.0.1]) by localhost (srv6.fidu.org [127.0.0.1]) (amavisd-new, port 10024) with LMTP id CcSs6_Du4AyO; Mon, 7 Jun 2021 08:46:47 +0200 (CEST) Received: from [IPv6:2003:e3:7f4f:6000:f5f4:4cdd:8015:9770] (p200300E37F4f6000F5F44cDd80159770.dip0.t-ipconnect.de [IPv6:2003:e3:7f4f:6000:f5f4:4cdd:8015:9770]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: wse@tuxedocomputers.com) by srv6.fidu.org (Postfix) with ESMTPSA id 71043C800DF; Mon, 7 Jun 2021 08:46:47 +0200 (CEST) To: =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= References: <20210604171723.10276-1-wse@tuxedocomputers.com> <20210604171723.10276-3-wse@tuxedocomputers.com> From: Werner Sembach Message-ID: Date: Mon, 7 Jun 2021 08:46:47 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US Subject: Re: [Intel-gfx] [PATCH 2/4] drm/uAPI: Add "active bpc" as feedback channel for "max bpc" drm property X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: mripard@kernel.org, sunpeng.li@amd.com, intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, airlied@linux.ie, amd-gfx@lists.freedesktop.org, tzimmermann@suse.de, alexander.deucher@amd.com, harry.wentland@amd.com, christian.koenig@amd.com Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" CkFtIDA0LjA2LjIxIHVtIDE5OjI2IHNjaHJpZWIgVmlsbGUgU3lyasOkbMOkOgo+IE9uIEZyaSwg SnVuIDA0LCAyMDIxIGF0IDA3OjE3OjIxUE0gKzAyMDAsIFdlcm5lciBTZW1iYWNoIHdyb3RlOgo+ PiBBZGQgYSBuZXcgZ2VuZXJhbCBkcm0gcHJvcGVydHkgImFjdGl2ZSBicGMiIHdoaWNoIGNhbiBi ZSB1c2VkIGJ5IGdyYXBoaWMgZHJpdmVycwo+PiB0byByZXBvcnQgdGhlIGFwcGxpZWQgYml0IGRl cHRoIHBlciBwaXhlbCBiYWNrIHRvIHVzZXJzcGFjZS4KPj4KPj4gV2hpbGUgIm1heCBicGMiIGNh biBiZSB1c2VkIHRvIGNoYW5nZSB0aGUgY29sb3IgZGVwdGgsIHRoZXJlIHdhcyBubyB3YXkgdG8g Y2hlY2sKPj4gd2hpY2ggb25lIGFjdHVhbGx5IGdvdCB1c2VkLiBXaGlsZSBpbiB0aGVvcnkgdGhl IGRyaXZlciBjaG9vc2VzIHRoZSBiZXN0L2hpZ2hlc3QKPj4gY29sb3IgZGVwdGggd2l0aGluIHRo ZSBtYXggYnBjIHNldHRpbmcgYSB1c2VyIG1pZ2h0IG5vdCBiZSBmdWxseSBhd2FyZSB3aGF0IGhp cwo+PiBoYXJkd2FyZSBpcyBvciBpc24ndCBjYXBhYmxlIG9mZi4gVGhpcyBpcyBtZWFudCBhcyBh IHF1aWNrIHdheSB0byBkb3VibGUgY2hlY2sKPj4gdGhlIHNldHVwLgo+Pgo+PiBJbiB0aGUgZnV0 dXJlLCBhdXRvbWF0aWMgY29sb3IgY2FsaWJyYXRpb24gZm9yIHNjcmVlbnMgbWlnaHQgYWxzbyBk ZXBlbmQgb24gdGhpcwo+PiBpbmZvcm1hdGlvbiBhdmFpbGFibGUuCj4+Cj4+IFNpZ25lZC1vZmYt Ynk6IFdlcm5lciBTZW1iYWNoIDx3c2VAdHV4ZWRvY29tcHV0ZXJzLmNvbT4KPj4gLS0tCj4+ICAg ZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jIHwgIDIgKysKPj4gICBkcml2ZXJzL2dw dS9kcm0vZHJtX2Nvbm5lY3Rvci5jICAgfCA0MCArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrCj4+ICAgaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oICAgICAgIHwgMTUgKysrKysrKysr KysrCj4+ICAgMyBmaWxlcyBjaGFuZ2VkLCA1NyBpbnNlcnRpb25zKCspCj4+Cj4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmMgYi9kcml2ZXJzL2dwdS9kcm0v ZHJtX2F0b21pY191YXBpLmMKPj4gaW5kZXggMjY4YmI2OWMyZTJmLi43YWU0ZTQwOTM2YjUgMTAw NjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYwo+PiArKysgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmMKPj4gQEAgLTg3Myw2ICs4NzMsOCBAQCBk cm1fYXRvbWljX2Nvbm5lY3Rvcl9nZXRfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNv bm5lY3RvciwKPj4gICAJCSp2YWwgPSAwOwo+PiAgIAl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNv bm5lY3Rvci0+bWF4X2JwY19wcm9wZXJ0eSkgewo+PiAgIAkJKnZhbCA9IHN0YXRlLT5tYXhfcmVx dWVzdGVkX2JwYzsKPj4gKwl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbm5lY3Rvci0+YWN0aXZl X2JwY19wcm9wZXJ0eSkgewo+PiArCQkqdmFsID0gc3RhdGUtPmFjdGl2ZV9icGM7Cj4+ICAgCX0g ZWxzZSBpZiAoY29ubmVjdG9yLT5mdW5jcy0+YXRvbWljX2dldF9wcm9wZXJ0eSkgewo+PiAgIAkJ cmV0dXJuIGNvbm5lY3Rvci0+ZnVuY3MtPmF0b21pY19nZXRfcHJvcGVydHkoY29ubmVjdG9yLAo+ PiAgIAkJCQlzdGF0ZSwgcHJvcGVydHksIHZhbCk7Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vZHJtX2Nvbm5lY3Rvci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYwo+ PiBpbmRleCA3NjMxZjc2ZTdmMzQuLjVmNDJhNWJlNTgyMiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nv bm5lY3Rvci5jCj4+IEBAIC0xMTk1LDYgKzExOTUsMTMgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBk cm1fcHJvcF9lbnVtX2xpc3QgZHBfY29sb3JzcGFjZXNbXSA9IHsKPj4gICAgKglkcm1fY29ubmVj dG9yX2F0dGFjaF9tYXhfYnBjX3Byb3BlcnR5KCkgdG8gY3JlYXRlIGFuZCBhdHRhY2ggdGhlCj4+ ICAgICoJcHJvcGVydHkgdG8gdGhlIGNvbm5lY3RvciBkdXJpbmcgaW5pdGlhbGl6YXRpb24uCj4+ ICAgICoKPj4gKyAqIGFjdGl2ZSBicGM6Cj4+ICsgKglUaGlzIHJlYWQtb25seSByYW5nZSBwcm9w ZXJ0eSBpcyB1c2VkIGJ5IHVzZXJzcGFjZSBjaGVjayB0aGUgYml0IGRlcHRoCj4+ICsgKglhY3R1 YWxseSBhcHBsaWVkIGJ5IHRoZSBHUFUgZHJpdmVyIGFmdGVyIGV2YWx1YXRpb24gYWxsIGhhcmR3 YXJlCj4+ICsgKgljYXBhYmlsaXRpZXMgYW5kIG1heCBicGMuIERyaXZlcnMgdG8gdXNlIHRoZSBm dW5jdGlvbgo+PiArICoJZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfYWN0aXZlX2JwY19wcm9wZXJ0eSgp IHRvIGNyZWF0ZSBhbmQgYXR0YWNoIHRoZQo+PiArICoJcHJvcGVydHkgdG8gdGhlIGNvbm5lY3Rv ciBkdXJpbmcgaW5pdGlhbGl6YXRpb24uCj4+ICsgKgo+PiAgICAqIENvbm5lY3RvcnMgYWxzbyBo YXZlIG9uZSBzdGFuZGFyZGl6ZWQgYXRvbWljIHByb3BlcnR5Ogo+PiAgICAqCj4+ICAgICogQ1JU Q19JRDoKPj4gQEAgLTIxNTAsNiArMjE1NywzOSBAQCBpbnQgZHJtX2Nvbm5lY3Rvcl9hdHRhY2hf bWF4X2JwY19wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+PiAgIH0K Pj4gICBFWFBPUlRfU1lNQk9MKGRybV9jb25uZWN0b3JfYXR0YWNoX21heF9icGNfcHJvcGVydHkp Owo+PiAgIAo+PiArLyoqCj4+ICsgKiBkcm1fY29ubmVjdG9yX2F0dGFjaF9hY3RpdmVfYnBjX3By b3BlcnR5IC0gYXR0YWNoICJhY3RpdmUgYnBjIiBwcm9wZXJ0eQo+PiArICogQGNvbm5lY3Rvcjog Y29ubmVjdG9yIHRvIGF0dGFjaCBhY3RpdmUgYnBjIHByb3BlcnR5IG9uLgo+PiArICogQG1pbjog VGhlIG1pbmltdW0gYml0IGRlcHRoIHN1cHBvcnRlZCBieSB0aGUgY29ubmVjdG9yLgo+PiArICog QG1heDogVGhlIG1heGltdW0gYml0IGRlcHRoIHN1cHBvcnRlZCBieSB0aGUgY29ubmVjdG9yLgo+ PiArICoKPj4gKyAqIFRoaXMgaXMgdXNlZCB0byBjaGVjayB0aGUgYXBwbGllZCBiaXQgZGVwdGgg b24gYSBjb25uZWN0b3IuCj4+ICsgKgo+PiArICogUmV0dXJuczoKPj4gKyAqIFplcm8gb24gc3Vj Y2VzcywgbmVnYXRpdmUgZXJybm8gb24gZmFpbHVyZS4KPj4gKyAqLwo+PiAraW50IGRybV9jb25u ZWN0b3JfYXR0YWNoX2FjdGl2ZV9icGNfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNv bm5lY3RvciwKPj4gKwkJCQkJICBpbnQgbWluLCBpbnQgbWF4KQo+PiArewo+PiArCXN0cnVjdCBk cm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmRldjsKPj4gKwlzdHJ1Y3QgZHJtX3Byb3BlcnR5 ICpwcm9wOwo+PiArCj4+ICsJcHJvcCA9IGNvbm5lY3Rvci0+YWN0aXZlX2JwY19wcm9wZXJ0eTsK Pj4gKwlpZiAoIXByb3ApIHsKPj4gKwkJcHJvcCA9IGRybV9wcm9wZXJ0eV9jcmVhdGVfcmFuZ2Uo ZGV2LCAwLCAiYWN0aXZlIGJwYyIsIG1pbiwgbWF4KTsKPiBTaG91bGQgYmUgaW1tdXRhYmxlLgpZ ZXMuIEkgZGlkbid0IGtub3cgaWYgdGhlcmUgaXMgYSB3YXkgdG8gZG8gdGhpcyAob3IganVzdCBk b24ndCBkZWZpbmUgYSAKc2V0LWZ1bmN0aW9uKSwgYnV0IEkgdGhpbmsgSSBmb3VuZCB0aGUgZGVm aW5lIGZvciB0aGlzLgo+Cj4gQWxzbyB3b25kZXJpbmcgd2hhdCB0aGUgc2VtYW50aWNzIG9mIHRo aXMgc2hvdWxkIGJlIHdoZW4gZWcuIERTQwo+IGlzIGFjdGl2ZT8KSSdtIHVuZmFtaWxpYXIgaG93 IHRoZSBpbm5lciB3b3JraW5ncyBvZiBEU0MgKEkgZ3Vlc3MgRGlzcGxheSBTdHJlYW0gCkNvbXBy ZXNzaW9uPykgYXJlLiBCdXQgZG9lc24ndCBpdCBhbHNvIGhhdmUgY29sb3IgZGVwdGg/CgpUaGUg YWN0aXZlIGJwYyBzaG91bGQgYmUgd2hhdCB0aGUgR1BVIHRlbGxzIHRoZSBkaXNwbGF5IHRvIGFj dHVhbGx5IHNob3cgCnRoZSB1c2VyIHdoZW4gaGUgbG9va3MgYXQganVzdCBvbmUgcGl4ZWwuCgpT byBkaXRoZXJpbmcgY29tcHV0ZWQgb24gdGhlIGhvc3Qgc2hvdWxkIG5vdCBiZSBpbmNsdWRlZCAo YWthIHdoZW4gdGhlIApncHUgc2VuZHMgYSBwcmVtYWRlIHBpY3R1cmUgdG8gdGhlIHNjcmVlbiBh bmQgdGVsbHMgaXQgdGhlIGxlc3NlciBwYmMpLCAKd2hpbGUgRlJDIGRpdGhlcmluZyBjb21wdXRl ZCBpbiB0aGUgZGlzcGxheSBmaXJtd2FyZSBzaG91bGQgYmUgaW5jbHVkZWQgCihzaW5jZSB0aGUg R1BVIGNhbid0IHJlYWxseSB0ZWxsIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gRlJDIGRpc3BsYXlz IGFuZCAKVHJ1ZSAxMC1CaXQgZGlzcGxheXMsIGNhbid0IGl0PykKPgo+PiArCQlpZiAoIXByb3Ap Cj4+ICsJCQlyZXR1cm4gLUVOT01FTTsKPj4gKwo+PiArCQljb25uZWN0b3ItPmFjdGl2ZV9icGNf cHJvcGVydHkgPSBwcm9wOwo+PiArCX0KPj4gKwo+PiArCWRybV9vYmplY3RfYXR0YWNoX3Byb3Bl cnR5KCZjb25uZWN0b3ItPmJhc2UsIHByb3AsIDApOwo+PiArCWNvbm5lY3Rvci0+c3RhdGUtPmFj dGl2ZV9icGMgPSAwOwo+PiArCj4+ICsJcmV0dXJuIDA7Cj4+ICt9Cj4+ICtFWFBPUlRfU1lNQk9M KGRybV9jb25uZWN0b3JfYXR0YWNoX2FjdGl2ZV9icGNfcHJvcGVydHkpOwo+PiArCj4+ICAgLyoq Cj4+ICAgICogZHJtX2Nvbm5lY3Rvcl9zZXRfdnJyX2NhcGFibGVfcHJvcGVydHkgLSBzZXRzIHRo ZSB2YXJpYWJsZSByZWZyZXNoIHJhdGUKPj4gICAgKiBjYXBhYmxlIHByb3BlcnR5IGZvciBhIGNv bm5lY3Rvcgo+PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oIGIvaW5j bHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCj4+IGluZGV4IDE5MjJiMjc4ZmZhZC4uYzU4Y2JhMmI2 YWZlIDEwMDY0NAo+PiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKPj4gKysrIGIv aW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCj4+IEBAIC03ODEsNiArNzgxLDEzIEBAIHN0cnVj dCBkcm1fY29ubmVjdG9yX3N0YXRlIHsKPj4gICAJICovCj4+ICAgCXU4IG1heF9icGM7Cj4+ICAg Cj4+ICsJLyoqCj4+ICsJICogQGFjdGl2ZV9icGM6IFJlYWQgb25seSBwcm9wZXJ0eSBzZXQgYnkg dGhlIEdQVSBkcml2ZXIgdG8gdGhlIGFjdHVhbGx5Cj4+ICsJICogYXBwbGllZCBiaXQgZGVwdGgg b2YgdGhlIHBpeGVscyBhZnRlciBldmFsdWF0aW5nIGFsbCBoYXJkd2FyZQo+PiArCSAqIGxpbWl0 YXRpb25zLgo+PiArCSAqLwo+PiArCXU4IGFjdGl2ZV9icGM7Cj4+ICsKPj4gICAJLyoqCj4+ICAg CSAqIEBoZHJfb3V0cHV0X21ldGFkYXRhOgo+PiAgIAkgKiBEUk0gYmxvYiBwcm9wZXJ0eSBmb3Ig SERSIG91dHB1dCBtZXRhZGF0YQo+PiBAQCAtMTM4MCw2ICsxMzg3LDEyIEBAIHN0cnVjdCBkcm1f Y29ubmVjdG9yIHsKPj4gICAJICovCj4+ICAgCXN0cnVjdCBkcm1fcHJvcGVydHkgKm1heF9icGNf cHJvcGVydHk7Cj4+ICAgCj4+ICsJLyoqCj4+ICsJICogQGFjdGl2ZV9icGNfcHJvcGVydHk6IERl ZmF1bHQgY29ubmVjdG9yIHByb3BlcnR5IGZvciB0aGUgYWN0aXZlIGJwYwo+PiArCSAqIHRvIGJl IGRyaXZlbiBvdXQgb2YgdGhlIGNvbm5lY3Rvci4KPj4gKwkgKi8KPj4gKwlzdHJ1Y3QgZHJtX3By b3BlcnR5ICphY3RpdmVfYnBjX3Byb3BlcnR5Owo+PiArCj4+ICAgI2RlZmluZSBEUk1fQ09OTkVD VE9SX1BPTExfSFBEICgxIDw8IDApCj4+ICAgI2RlZmluZSBEUk1fQ09OTkVDVE9SX1BPTExfQ09O TkVDVCAoMSA8PCAxKQo+PiAgICNkZWZpbmUgRFJNX0NPTk5FQ1RPUl9QT0xMX0RJU0NPTk5FQ1Qg KDEgPDwgMikKPj4gQEAgLTE2OTgsNiArMTcxMSw4IEBAIGludCBkcm1fY29ubmVjdG9yX3NldF9w YW5lbF9vcmllbnRhdGlvbl93aXRoX3F1aXJrKAo+PiAgIAlpbnQgd2lkdGgsIGludCBoZWlnaHQp Owo+PiAgIGludCBkcm1fY29ubmVjdG9yX2F0dGFjaF9tYXhfYnBjX3Byb3BlcnR5KHN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4+ICAgCQkJCQkgIGludCBtaW4sIGludCBtYXgpOwo+ PiAraW50IGRybV9jb25uZWN0b3JfYXR0YWNoX2FjdGl2ZV9icGNfcHJvcGVydHkoc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPj4gKwkJCQkJICBpbnQgbWluLCBpbnQgbWF4KTsKPj4g ICAKPj4gICAvKioKPj4gICAgKiBzdHJ1Y3QgZHJtX3RpbGVfZ3JvdXAgLSBUaWxlIGdyb3VwIG1l dGFkYXRhCj4+IC0tIAo+PiAyLjI1LjEKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vaW50ZWwtZ2Z4Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.3 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3A80FC4743F for ; Mon, 7 Jun 2021 06:46:52 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id D8D42611C0 for ; Mon, 7 Jun 2021 06:46:51 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D8D42611C0 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=tuxedocomputers.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=amd-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 623C76E1FB; Mon, 7 Jun 2021 06:46:51 +0000 (UTC) Received: from srv6.fidu.org (srv6.fidu.org [159.69.62.71]) by gabe.freedesktop.org (Postfix) with ESMTPS id BB7646E198; Mon, 7 Jun 2021 06:46:49 +0000 (UTC) Received: from localhost (localhost.localdomain [127.0.0.1]) by srv6.fidu.org (Postfix) with ESMTP id 0C3B8C800E1; Mon, 7 Jun 2021 08:46:48 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at srv6.fidu.org Received: from srv6.fidu.org ([127.0.0.1]) by localhost (srv6.fidu.org [127.0.0.1]) (amavisd-new, port 10024) with LMTP id CcSs6_Du4AyO; Mon, 7 Jun 2021 08:46:47 +0200 (CEST) Received: from [IPv6:2003:e3:7f4f:6000:f5f4:4cdd:8015:9770] (p200300E37F4f6000F5F44cDd80159770.dip0.t-ipconnect.de [IPv6:2003:e3:7f4f:6000:f5f4:4cdd:8015:9770]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: wse@tuxedocomputers.com) by srv6.fidu.org (Postfix) with ESMTPSA id 71043C800DF; Mon, 7 Jun 2021 08:46:47 +0200 (CEST) Subject: Re: [PATCH 2/4] drm/uAPI: Add "active bpc" as feedback channel for "max bpc" drm property To: =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= References: <20210604171723.10276-1-wse@tuxedocomputers.com> <20210604171723.10276-3-wse@tuxedocomputers.com> From: Werner Sembach Message-ID: Date: Mon, 7 Jun 2021 08:46:47 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US X-BeenThere: amd-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: mripard@kernel.org, daniel@ffwll.ch, sunpeng.li@amd.com, intel-gfx@lists.freedesktop.org, joonas.lahtinen@linux.intel.com, maarten.lankhorst@linux.intel.com, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, airlied@linux.ie, jani.nikula@linux.intel.com, amd-gfx@lists.freedesktop.org, tzimmermann@suse.de, rodrigo.vivi@intel.com, alexander.deucher@amd.com, harry.wentland@amd.com, christian.koenig@amd.com Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: amd-gfx-bounces@lists.freedesktop.org Sender: "amd-gfx" CkFtIDA0LjA2LjIxIHVtIDE5OjI2IHNjaHJpZWIgVmlsbGUgU3lyasOkbMOkOgo+IE9uIEZyaSwg SnVuIDA0LCAyMDIxIGF0IDA3OjE3OjIxUE0gKzAyMDAsIFdlcm5lciBTZW1iYWNoIHdyb3RlOgo+ PiBBZGQgYSBuZXcgZ2VuZXJhbCBkcm0gcHJvcGVydHkgImFjdGl2ZSBicGMiIHdoaWNoIGNhbiBi ZSB1c2VkIGJ5IGdyYXBoaWMgZHJpdmVycwo+PiB0byByZXBvcnQgdGhlIGFwcGxpZWQgYml0IGRl cHRoIHBlciBwaXhlbCBiYWNrIHRvIHVzZXJzcGFjZS4KPj4KPj4gV2hpbGUgIm1heCBicGMiIGNh biBiZSB1c2VkIHRvIGNoYW5nZSB0aGUgY29sb3IgZGVwdGgsIHRoZXJlIHdhcyBubyB3YXkgdG8g Y2hlY2sKPj4gd2hpY2ggb25lIGFjdHVhbGx5IGdvdCB1c2VkLiBXaGlsZSBpbiB0aGVvcnkgdGhl IGRyaXZlciBjaG9vc2VzIHRoZSBiZXN0L2hpZ2hlc3QKPj4gY29sb3IgZGVwdGggd2l0aGluIHRo ZSBtYXggYnBjIHNldHRpbmcgYSB1c2VyIG1pZ2h0IG5vdCBiZSBmdWxseSBhd2FyZSB3aGF0IGhp cwo+PiBoYXJkd2FyZSBpcyBvciBpc24ndCBjYXBhYmxlIG9mZi4gVGhpcyBpcyBtZWFudCBhcyBh IHF1aWNrIHdheSB0byBkb3VibGUgY2hlY2sKPj4gdGhlIHNldHVwLgo+Pgo+PiBJbiB0aGUgZnV0 dXJlLCBhdXRvbWF0aWMgY29sb3IgY2FsaWJyYXRpb24gZm9yIHNjcmVlbnMgbWlnaHQgYWxzbyBk ZXBlbmQgb24gdGhpcwo+PiBpbmZvcm1hdGlvbiBhdmFpbGFibGUuCj4+Cj4+IFNpZ25lZC1vZmYt Ynk6IFdlcm5lciBTZW1iYWNoIDx3c2VAdHV4ZWRvY29tcHV0ZXJzLmNvbT4KPj4gLS0tCj4+ICAg ZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jIHwgIDIgKysKPj4gICBkcml2ZXJzL2dw dS9kcm0vZHJtX2Nvbm5lY3Rvci5jICAgfCA0MCArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrCj4+ICAgaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oICAgICAgIHwgMTUgKysrKysrKysr KysrCj4+ICAgMyBmaWxlcyBjaGFuZ2VkLCA1NyBpbnNlcnRpb25zKCspCj4+Cj4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmMgYi9kcml2ZXJzL2dwdS9kcm0v ZHJtX2F0b21pY191YXBpLmMKPj4gaW5kZXggMjY4YmI2OWMyZTJmLi43YWU0ZTQwOTM2YjUgMTAw NjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYwo+PiArKysgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmMKPj4gQEAgLTg3Myw2ICs4NzMsOCBAQCBk cm1fYXRvbWljX2Nvbm5lY3Rvcl9nZXRfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNv bm5lY3RvciwKPj4gICAJCSp2YWwgPSAwOwo+PiAgIAl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNv bm5lY3Rvci0+bWF4X2JwY19wcm9wZXJ0eSkgewo+PiAgIAkJKnZhbCA9IHN0YXRlLT5tYXhfcmVx dWVzdGVkX2JwYzsKPj4gKwl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbm5lY3Rvci0+YWN0aXZl X2JwY19wcm9wZXJ0eSkgewo+PiArCQkqdmFsID0gc3RhdGUtPmFjdGl2ZV9icGM7Cj4+ICAgCX0g ZWxzZSBpZiAoY29ubmVjdG9yLT5mdW5jcy0+YXRvbWljX2dldF9wcm9wZXJ0eSkgewo+PiAgIAkJ cmV0dXJuIGNvbm5lY3Rvci0+ZnVuY3MtPmF0b21pY19nZXRfcHJvcGVydHkoY29ubmVjdG9yLAo+ PiAgIAkJCQlzdGF0ZSwgcHJvcGVydHksIHZhbCk7Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vZHJtX2Nvbm5lY3Rvci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYwo+ PiBpbmRleCA3NjMxZjc2ZTdmMzQuLjVmNDJhNWJlNTgyMiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nv bm5lY3Rvci5jCj4+IEBAIC0xMTk1LDYgKzExOTUsMTMgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBk cm1fcHJvcF9lbnVtX2xpc3QgZHBfY29sb3JzcGFjZXNbXSA9IHsKPj4gICAgKglkcm1fY29ubmVj dG9yX2F0dGFjaF9tYXhfYnBjX3Byb3BlcnR5KCkgdG8gY3JlYXRlIGFuZCBhdHRhY2ggdGhlCj4+ ICAgICoJcHJvcGVydHkgdG8gdGhlIGNvbm5lY3RvciBkdXJpbmcgaW5pdGlhbGl6YXRpb24uCj4+ ICAgICoKPj4gKyAqIGFjdGl2ZSBicGM6Cj4+ICsgKglUaGlzIHJlYWQtb25seSByYW5nZSBwcm9w ZXJ0eSBpcyB1c2VkIGJ5IHVzZXJzcGFjZSBjaGVjayB0aGUgYml0IGRlcHRoCj4+ICsgKglhY3R1 YWxseSBhcHBsaWVkIGJ5IHRoZSBHUFUgZHJpdmVyIGFmdGVyIGV2YWx1YXRpb24gYWxsIGhhcmR3 YXJlCj4+ICsgKgljYXBhYmlsaXRpZXMgYW5kIG1heCBicGMuIERyaXZlcnMgdG8gdXNlIHRoZSBm dW5jdGlvbgo+PiArICoJZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfYWN0aXZlX2JwY19wcm9wZXJ0eSgp IHRvIGNyZWF0ZSBhbmQgYXR0YWNoIHRoZQo+PiArICoJcHJvcGVydHkgdG8gdGhlIGNvbm5lY3Rv ciBkdXJpbmcgaW5pdGlhbGl6YXRpb24uCj4+ICsgKgo+PiAgICAqIENvbm5lY3RvcnMgYWxzbyBo YXZlIG9uZSBzdGFuZGFyZGl6ZWQgYXRvbWljIHByb3BlcnR5Ogo+PiAgICAqCj4+ICAgICogQ1JU Q19JRDoKPj4gQEAgLTIxNTAsNiArMjE1NywzOSBAQCBpbnQgZHJtX2Nvbm5lY3Rvcl9hdHRhY2hf bWF4X2JwY19wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+PiAgIH0K Pj4gICBFWFBPUlRfU1lNQk9MKGRybV9jb25uZWN0b3JfYXR0YWNoX21heF9icGNfcHJvcGVydHkp Owo+PiAgIAo+PiArLyoqCj4+ICsgKiBkcm1fY29ubmVjdG9yX2F0dGFjaF9hY3RpdmVfYnBjX3By b3BlcnR5IC0gYXR0YWNoICJhY3RpdmUgYnBjIiBwcm9wZXJ0eQo+PiArICogQGNvbm5lY3Rvcjog Y29ubmVjdG9yIHRvIGF0dGFjaCBhY3RpdmUgYnBjIHByb3BlcnR5IG9uLgo+PiArICogQG1pbjog VGhlIG1pbmltdW0gYml0IGRlcHRoIHN1cHBvcnRlZCBieSB0aGUgY29ubmVjdG9yLgo+PiArICog QG1heDogVGhlIG1heGltdW0gYml0IGRlcHRoIHN1cHBvcnRlZCBieSB0aGUgY29ubmVjdG9yLgo+ PiArICoKPj4gKyAqIFRoaXMgaXMgdXNlZCB0byBjaGVjayB0aGUgYXBwbGllZCBiaXQgZGVwdGgg b24gYSBjb25uZWN0b3IuCj4+ICsgKgo+PiArICogUmV0dXJuczoKPj4gKyAqIFplcm8gb24gc3Vj Y2VzcywgbmVnYXRpdmUgZXJybm8gb24gZmFpbHVyZS4KPj4gKyAqLwo+PiAraW50IGRybV9jb25u ZWN0b3JfYXR0YWNoX2FjdGl2ZV9icGNfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNv bm5lY3RvciwKPj4gKwkJCQkJICBpbnQgbWluLCBpbnQgbWF4KQo+PiArewo+PiArCXN0cnVjdCBk cm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmRldjsKPj4gKwlzdHJ1Y3QgZHJtX3Byb3BlcnR5 ICpwcm9wOwo+PiArCj4+ICsJcHJvcCA9IGNvbm5lY3Rvci0+YWN0aXZlX2JwY19wcm9wZXJ0eTsK Pj4gKwlpZiAoIXByb3ApIHsKPj4gKwkJcHJvcCA9IGRybV9wcm9wZXJ0eV9jcmVhdGVfcmFuZ2Uo ZGV2LCAwLCAiYWN0aXZlIGJwYyIsIG1pbiwgbWF4KTsKPiBTaG91bGQgYmUgaW1tdXRhYmxlLgpZ ZXMuIEkgZGlkbid0IGtub3cgaWYgdGhlcmUgaXMgYSB3YXkgdG8gZG8gdGhpcyAob3IganVzdCBk b24ndCBkZWZpbmUgYSAKc2V0LWZ1bmN0aW9uKSwgYnV0IEkgdGhpbmsgSSBmb3VuZCB0aGUgZGVm aW5lIGZvciB0aGlzLgo+Cj4gQWxzbyB3b25kZXJpbmcgd2hhdCB0aGUgc2VtYW50aWNzIG9mIHRo aXMgc2hvdWxkIGJlIHdoZW4gZWcuIERTQwo+IGlzIGFjdGl2ZT8KSSdtIHVuZmFtaWxpYXIgaG93 IHRoZSBpbm5lciB3b3JraW5ncyBvZiBEU0MgKEkgZ3Vlc3MgRGlzcGxheSBTdHJlYW0gCkNvbXBy ZXNzaW9uPykgYXJlLiBCdXQgZG9lc24ndCBpdCBhbHNvIGhhdmUgY29sb3IgZGVwdGg/CgpUaGUg YWN0aXZlIGJwYyBzaG91bGQgYmUgd2hhdCB0aGUgR1BVIHRlbGxzIHRoZSBkaXNwbGF5IHRvIGFj dHVhbGx5IHNob3cgCnRoZSB1c2VyIHdoZW4gaGUgbG9va3MgYXQganVzdCBvbmUgcGl4ZWwuCgpT byBkaXRoZXJpbmcgY29tcHV0ZWQgb24gdGhlIGhvc3Qgc2hvdWxkIG5vdCBiZSBpbmNsdWRlZCAo YWthIHdoZW4gdGhlIApncHUgc2VuZHMgYSBwcmVtYWRlIHBpY3R1cmUgdG8gdGhlIHNjcmVlbiBh bmQgdGVsbHMgaXQgdGhlIGxlc3NlciBwYmMpLCAKd2hpbGUgRlJDIGRpdGhlcmluZyBjb21wdXRl ZCBpbiB0aGUgZGlzcGxheSBmaXJtd2FyZSBzaG91bGQgYmUgaW5jbHVkZWQgCihzaW5jZSB0aGUg R1BVIGNhbid0IHJlYWxseSB0ZWxsIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gRlJDIGRpc3BsYXlz IGFuZCAKVHJ1ZSAxMC1CaXQgZGlzcGxheXMsIGNhbid0IGl0PykKPgo+PiArCQlpZiAoIXByb3Ap Cj4+ICsJCQlyZXR1cm4gLUVOT01FTTsKPj4gKwo+PiArCQljb25uZWN0b3ItPmFjdGl2ZV9icGNf cHJvcGVydHkgPSBwcm9wOwo+PiArCX0KPj4gKwo+PiArCWRybV9vYmplY3RfYXR0YWNoX3Byb3Bl cnR5KCZjb25uZWN0b3ItPmJhc2UsIHByb3AsIDApOwo+PiArCWNvbm5lY3Rvci0+c3RhdGUtPmFj dGl2ZV9icGMgPSAwOwo+PiArCj4+ICsJcmV0dXJuIDA7Cj4+ICt9Cj4+ICtFWFBPUlRfU1lNQk9M KGRybV9jb25uZWN0b3JfYXR0YWNoX2FjdGl2ZV9icGNfcHJvcGVydHkpOwo+PiArCj4+ICAgLyoq Cj4+ICAgICogZHJtX2Nvbm5lY3Rvcl9zZXRfdnJyX2NhcGFibGVfcHJvcGVydHkgLSBzZXRzIHRo ZSB2YXJpYWJsZSByZWZyZXNoIHJhdGUKPj4gICAgKiBjYXBhYmxlIHByb3BlcnR5IGZvciBhIGNv bm5lY3Rvcgo+PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oIGIvaW5j bHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCj4+IGluZGV4IDE5MjJiMjc4ZmZhZC4uYzU4Y2JhMmI2 YWZlIDEwMDY0NAo+PiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKPj4gKysrIGIv aW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCj4+IEBAIC03ODEsNiArNzgxLDEzIEBAIHN0cnVj dCBkcm1fY29ubmVjdG9yX3N0YXRlIHsKPj4gICAJICovCj4+ICAgCXU4IG1heF9icGM7Cj4+ICAg Cj4+ICsJLyoqCj4+ICsJICogQGFjdGl2ZV9icGM6IFJlYWQgb25seSBwcm9wZXJ0eSBzZXQgYnkg dGhlIEdQVSBkcml2ZXIgdG8gdGhlIGFjdHVhbGx5Cj4+ICsJICogYXBwbGllZCBiaXQgZGVwdGgg b2YgdGhlIHBpeGVscyBhZnRlciBldmFsdWF0aW5nIGFsbCBoYXJkd2FyZQo+PiArCSAqIGxpbWl0 YXRpb25zLgo+PiArCSAqLwo+PiArCXU4IGFjdGl2ZV9icGM7Cj4+ICsKPj4gICAJLyoqCj4+ICAg CSAqIEBoZHJfb3V0cHV0X21ldGFkYXRhOgo+PiAgIAkgKiBEUk0gYmxvYiBwcm9wZXJ0eSBmb3Ig SERSIG91dHB1dCBtZXRhZGF0YQo+PiBAQCAtMTM4MCw2ICsxMzg3LDEyIEBAIHN0cnVjdCBkcm1f Y29ubmVjdG9yIHsKPj4gICAJICovCj4+ICAgCXN0cnVjdCBkcm1fcHJvcGVydHkgKm1heF9icGNf cHJvcGVydHk7Cj4+ICAgCj4+ICsJLyoqCj4+ICsJICogQGFjdGl2ZV9icGNfcHJvcGVydHk6IERl ZmF1bHQgY29ubmVjdG9yIHByb3BlcnR5IGZvciB0aGUgYWN0aXZlIGJwYwo+PiArCSAqIHRvIGJl IGRyaXZlbiBvdXQgb2YgdGhlIGNvbm5lY3Rvci4KPj4gKwkgKi8KPj4gKwlzdHJ1Y3QgZHJtX3By b3BlcnR5ICphY3RpdmVfYnBjX3Byb3BlcnR5Owo+PiArCj4+ICAgI2RlZmluZSBEUk1fQ09OTkVD VE9SX1BPTExfSFBEICgxIDw8IDApCj4+ICAgI2RlZmluZSBEUk1fQ09OTkVDVE9SX1BPTExfQ09O TkVDVCAoMSA8PCAxKQo+PiAgICNkZWZpbmUgRFJNX0NPTk5FQ1RPUl9QT0xMX0RJU0NPTk5FQ1Qg KDEgPDwgMikKPj4gQEAgLTE2OTgsNiArMTcxMSw4IEBAIGludCBkcm1fY29ubmVjdG9yX3NldF9w YW5lbF9vcmllbnRhdGlvbl93aXRoX3F1aXJrKAo+PiAgIAlpbnQgd2lkdGgsIGludCBoZWlnaHQp Owo+PiAgIGludCBkcm1fY29ubmVjdG9yX2F0dGFjaF9tYXhfYnBjX3Byb3BlcnR5KHN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4+ICAgCQkJCQkgIGludCBtaW4sIGludCBtYXgpOwo+ PiAraW50IGRybV9jb25uZWN0b3JfYXR0YWNoX2FjdGl2ZV9icGNfcHJvcGVydHkoc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPj4gKwkJCQkJICBpbnQgbWluLCBpbnQgbWF4KTsKPj4g ICAKPj4gICAvKioKPj4gICAgKiBzdHJ1Y3QgZHJtX3RpbGVfZ3JvdXAgLSBUaWxlIGdyb3VwIG1l dGFkYXRhCj4+IC0tIAo+PiAyLjI1LjEKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9h bWQtZ2Z4Cg==