From patchwork Tue Oct 27 16:43:49 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Deucher X-Patchwork-Id: 7498141 Return-Path: X-Original-To: patchwork-dri-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 5F2919F750 for ; Tue, 27 Oct 2015 16:43:55 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 7A9B2208AF for ; Tue, 27 Oct 2015 16:43:54 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by mail.kernel.org (Postfix) with ESMTP id 83D43208D7 for ; Tue, 27 Oct 2015 16:43:53 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id CB0F06E1F7; Tue, 27 Oct 2015 09:43:51 -0700 (PDT) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mail-yk0-f172.google.com (mail-yk0-f172.google.com [209.85.160.172]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4341F6E1F7 for ; Tue, 27 Oct 2015 09:43:50 -0700 (PDT) Received: by ykft191 with SMTP id t191so42092561ykf.0 for ; Tue, 27 Oct 2015 09:43:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=CAATM+0h84FonA/grgaG0OlSO516sD495zt/wnwVYLw=; b=MUuQuNZ2Fb4o86YtmDxA36XfMxjUbncp3fvUM+mJDcu31/VPAVZ8KVlstXVgV36EiR oxmjRiXr4myIKrK4iXtZMJBy1aJT1Ltfi4kaXTEh2H1BXGgG8Oy8J2OjktZCBdF9PqXv +b/RZrekz910EIlshwl2RK88Z37zpbvw3DIJGV5tvxvrhB2P5OZ8OimKi9F5iXWk4Fhn esrbq9uku5YF/iSLKxWpbTnLdcNhk7PumThUVlaUDBdVWDUTkCyGdwWyU0afthjg4Ep0 um4UQTTa7dKcMsW18hSHLm0a4kM6scx6/bEzxJcuuhNpMvoeRuu1uHI/ChwAGLmhbKgL +vnA== MIME-Version: 1.0 X-Received: by 10.129.133.66 with SMTP id v63mr35169605ywf.15.1445964229342; Tue, 27 Oct 2015 09:43:49 -0700 (PDT) Received: by 10.37.21.67 with HTTP; Tue, 27 Oct 2015 09:43:49 -0700 (PDT) In-Reply-To: <562FA519.602@sbg.at> References: <562BDB47.5000301@sbg.at> <562DF333.3070708@daenzer.net> <562E0473.5060404@sbg.at> <562EE34A.9070100@daenzer.net> <562F395C.2080109@sbg.at> <562F411A.60906@daenzer.net> <562F4CAF.1050505@sbg.at> <562FA519.602@sbg.at> Date: Tue, 27 Oct 2015 12:43:49 -0400 Message-ID: Subject: Re: No backlight since linux-4.2.4 - drivers/gpu/drm/radeon/atombios_encoders.c From: Alex Deucher To: Michael Burian Cc: =?UTF-8?Q?Michel_D=C3=A4nzer?= , "dri-devel@lists.freedesktop.org" X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Spam-Status: No, score=-4.1 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_MED, RP_MATCHES_RCVD, T_DKIM_INVALID, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP On Tue, Oct 27, 2015 at 12:23 PM, Michael Burian wrote: > On 10/27/15 16:10, Alex Deucher wrote: > >> >> It would appear that your system does not use the gpu backlight >> controller. Either it's lying or messing with the GPU backlight >> controller causes some bad interaction with whatever does control it. >> Does the attached radeon patch help? I'm also attaching an amdgpu >> patch for reference in case the same problem appears on amdgpu. >> > > no, still no backlight when applied against current current mainline > > 858e904bd71dd0057a548d6785d94ce5ec4aeabd (Merge tag 'iommu-fixes-v4.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu) > I see the problem. We don't enable native backlight control on older asics like yours by default. Does the attached patch help? Alex From 8940e9553ae9097a22c2c46a0d33a6ce7fd6d9b2 Mon Sep 17 00:00:00 2001 From: Alex Deucher Date: Tue, 27 Oct 2015 10:56:44 -0400 Subject: [PATCH] drm/radeon: fix dpms when driver backlight control is disabled If driver backlight control is disabled, either by driver parameter or default per-asic setting, revert to the old behavior. Fixes a regression in commit: 4281f46ef839050d2ef60348f661eb463c21cc2e Signed-off-by: Alex Deucher Cc: stable@vger.kernel.org --- drivers/gpu/drm/radeon/atombios_encoders.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/radeon/atombios_encoders.c b/drivers/gpu/drm/radeon/atombios_encoders.c index 65adb9c..ec0f5f6 100644 --- a/drivers/gpu/drm/radeon/atombios_encoders.c +++ b/drivers/gpu/drm/radeon/atombios_encoders.c @@ -1624,9 +1624,14 @@ radeon_atom_encoder_dpms_avivo(struct drm_encoder *encoder, int mode) } else atom_execute_table(rdev->mode_info.atom_context, index, (uint32_t *)&args); if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) { - struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv; + if (rdev->mode_info.bl_encoder) { + struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv; - atombios_set_backlight_level(radeon_encoder, dig->backlight_level); + atombios_set_backlight_level(radeon_encoder, dig->backlight_level); + } else { + args.ucAction = ATOM_LCD_BLON; + atom_execute_table(rdev->mode_info.atom_context, index, (uint32_t *)&args); + } } break; case DRM_MODE_DPMS_STANDBY: @@ -1706,8 +1711,13 @@ radeon_atom_encoder_dpms_dig(struct drm_encoder *encoder, int mode) if (ASIC_IS_DCE4(rdev)) atombios_dig_encoder_setup(encoder, ATOM_ENCODER_CMD_DP_VIDEO_ON, 0); } - if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) - atombios_set_backlight_level(radeon_encoder, dig->backlight_level); + if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) { + if (rdev->mode_info.bl_encoder) + atombios_set_backlight_level(radeon_encoder, dig->backlight_level); + else + atombios_dig_transmitter_setup(encoder, + ATOM_TRANSMITTER_ACTION_LCD_BLON, 0, 0); + } if (ext_encoder) atombios_external_encoder_setup(encoder, ext_encoder, ATOM_ENABLE); break; -- 1.8.3.1