From patchwork Wed Mar 23 17:42:23 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Alex Deucher X-Patchwork-Id: 8652671 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 803CF9F36E for ; Wed, 23 Mar 2016 17:44:41 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 9483C203E5 for ; Wed, 23 Mar 2016 17:44:40 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by mail.kernel.org (Postfix) with ESMTP id B6185203FB for ; Wed, 23 Mar 2016 17:44:39 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 762BE6E3FA; Wed, 23 Mar 2016 17:44:07 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mail-qg0-x236.google.com (mail-qg0-x236.google.com [IPv6:2607:f8b0:400d:c04::236]) by gabe.freedesktop.org (Postfix) with ESMTPS id 47B936E8E0 for ; Wed, 23 Mar 2016 17:43:32 +0000 (UTC) Received: by mail-qg0-x236.google.com with SMTP id u110so18133059qge.3 for ; Wed, 23 Mar 2016 10:43:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=pZdh6ZjQvPllFP6EWtgAcV0QH37R/C61w3tLhbLqflI=; b=W8k/ir76cw5lv9z/InIxWWv4FLZ2SAyOSCOL85H0JhI12kILso5NtZ4Y2h0Nv8yevW kdIItqNtxp0Lsr/WL4gYllwX5GKeq5x4A9PRdnddIBSAGvxIAvPgLORMrT/tj8tl1tfm W8DM4g5t69P/JHTcKEHlzk4HDAmjmYjVLS/XzRu6Qk6oU+agCsxNUhLAb3LCK4XpjpTd TV9FtdyTKwj524hlRu+AMuhY/xWOoYnlBC2K/qbNIBbQVwCi4cGIUqZNhTwYWFhKRM3H wacXLuX3x12dx9erS0eaaSuEchzkuC8E46ndh2DbSR6XaFJ6naXY5qdJB8GSccb/3IX0 rlRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=pZdh6ZjQvPllFP6EWtgAcV0QH37R/C61w3tLhbLqflI=; b=Wqql6K5F/9TFtdM3S+b/65lRT7jZSEazj4mKToz8TAP8XPolBbzuPo9azSBF7njPAM ycvOCyHt4oDjT5LrjH8yrsXIlUPQS1MAKso5oMR7YI9zK6MskAVNGpxR35BPqfH0EqRI /kSG5vVENHkJ7ZOGD4xdpuorKr06NXDbysylcj32hy3vM3HhVjQb1UJhXWj/FW/XBplA Y3gAxFtavE25AgF3y8MRWpmql9XLMNgDDbtZ0OSFD/qrfN660duyjyE/Sehldo/Aq6Bz X0I2QZcH6cBi+6ruuRgo7fu9rdvpyHAs9YCISf62avPk1BQ3uQnTFeZlsd376T/lyGQG fhYw== X-Gm-Message-State: AD7BkJKMzVQkrDySw94NuYBGX0G/BnfWrRn/5wsmwCbnmDHpd7ZQcerw2EfJQZ4yZ8qdRg== X-Received: by 10.140.169.4 with SMTP id p4mr5546713qhp.71.1458755010655; Wed, 23 Mar 2016 10:43:30 -0700 (PDT) Received: from cm.localdomain (static-74-96-105-49.washdc.fios.verizon.net. [74.96.105.49]) by smtp.gmail.com with ESMTPSA id v190sm1486878qka.46.2016.03.23.10.43.30 (version=TLSv1/SSLv3 cipher=OTHER); Wed, 23 Mar 2016 10:43:30 -0700 (PDT) From: Alex Deucher X-Google-Original-From: Alex Deucher To: dri-devel@lists.freedesktop.org Subject: [PATCH 07/52] drm/amdgpu/atom: add support for new DIGxEncoderControl cmd table Date: Wed, 23 Mar 2016 13:42:23 -0400 Message-Id: <1458754988-16222-8-git-send-email-alexander.deucher@amd.com> X-Mailer: git-send-email 2.5.0 In-Reply-To: <1458754988-16222-1-git-send-email-alexander.deucher@amd.com> References: <1458754988-16222-1-git-send-email-alexander.deucher@amd.com> MIME-Version: 1.0 Cc: Alex Deucher 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, T_DKIM_INVALID, T_RP_MATCHES_RCVD, 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 New digital encoder setup table for elm/baf. Reviewed-by: Christian König Signed-off-by: Alex Deucher Reviewed-by: Jammy Zhou --- drivers/gpu/drm/amd/amdgpu/atombios_encoders.c | 42 ++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/drivers/gpu/drm/amd/amdgpu/atombios_encoders.c b/drivers/gpu/drm/amd/amdgpu/atombios_encoders.c index 1e0bba2..213103c 100644 --- a/drivers/gpu/drm/amd/amdgpu/atombios_encoders.c +++ b/drivers/gpu/drm/amd/amdgpu/atombios_encoders.c @@ -563,6 +563,7 @@ union dig_encoder_control { DIG_ENCODER_CONTROL_PARAMETERS_V2 v2; DIG_ENCODER_CONTROL_PARAMETERS_V3 v3; DIG_ENCODER_CONTROL_PARAMETERS_V4 v4; + DIG_ENCODER_CONTROL_PARAMETERS_V5 v5; }; void @@ -690,6 +691,47 @@ amdgpu_atombios_encoder_setup_dig_encoder(struct drm_encoder *encoder, else args.v4.ucHPD_ID = hpd_id + 1; break; + case 5: + switch (action) { + case ATOM_ENCODER_CMD_SETUP_PANEL_MODE: + args.v5.asDPPanelModeParam.ucAction = action; + args.v5.asDPPanelModeParam.ucPanelMode = panel_mode; + args.v5.asDPPanelModeParam.ucDigId = dig->dig_encoder; + break; + case ATOM_ENCODER_CMD_STREAM_SETUP: + args.v5.asStreamParam.ucAction = action; + args.v5.asStreamParam.ucDigId = dig->dig_encoder; + args.v5.asStreamParam.ucDigMode = + amdgpu_atombios_encoder_get_encoder_mode(encoder); + if (ENCODER_MODE_IS_DP(args.v5.asStreamParam.ucDigMode)) + args.v5.asStreamParam.ucLaneNum = dp_lane_count; + else if (amdgpu_dig_monitor_is_duallink(encoder, + amdgpu_encoder->pixel_clock)) + args.v5.asStreamParam.ucLaneNum = 8; + else + args.v5.asStreamParam.ucLaneNum = 4; + args.v5.asStreamParam.ulPixelClock = + cpu_to_le32(amdgpu_encoder->pixel_clock / 10); + args.v5.asStreamParam.ucBitPerColor = + amdgpu_atombios_encoder_get_bpc(encoder); + args.v5.asStreamParam.ucLinkRateIn270Mhz = dp_clock / 27000; + break; + case ATOM_ENCODER_CMD_DP_LINK_TRAINING_START: + case ATOM_ENCODER_CMD_DP_LINK_TRAINING_PATTERN1: + case ATOM_ENCODER_CMD_DP_LINK_TRAINING_PATTERN2: + case ATOM_ENCODER_CMD_DP_LINK_TRAINING_PATTERN3: + case ATOM_ENCODER_CMD_DP_LINK_TRAINING_PATTERN4: + case ATOM_ENCODER_CMD_DP_LINK_TRAINING_COMPLETE: + case ATOM_ENCODER_CMD_DP_VIDEO_OFF: + case ATOM_ENCODER_CMD_DP_VIDEO_ON: + args.v5.asCmdParam.ucAction = action; + args.v5.asCmdParam.ucDigId = dig->dig_encoder; + break; + default: + DRM_ERROR("Unsupported action 0x%x\n", action); + break; + } + break; default: DRM_ERROR("Unknown table version %d, %d\n", frev, crev); break;