From patchwork Fri Jan 11 19:57:51 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rodrigo Vivi X-Patchwork-Id: 1967181 Return-Path: X-Original-To: patchwork-intel-gfx@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork2.kernel.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by patchwork2.kernel.org (Postfix) with ESMTP id 0185BDF2A2 for ; Fri, 11 Jan 2013 20:08:43 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 03506E6C72 for ; Fri, 11 Jan 2013 12:08:43 -0800 (PST) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from mail-ye0-f177.google.com (mail-ye0-f177.google.com [209.85.213.177]) by gabe.freedesktop.org (Postfix) with ESMTP id 53C89E6158 for ; Fri, 11 Jan 2013 12:04:25 -0800 (PST) Received: by mail-ye0-f177.google.com with SMTP id m14so394764yen.8 for ; Fri, 11 Jan 2013 12:04:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:from:to:cc:subject:date:message-id:x-mailer:in-reply-to :references; bh=MNPxA1snoucuEGkXDRBfDt+fZh+zseuKAJ3Lkp85Ucc=; b=L8gpmfE4G7ndtmJzBw01NsDKpeqhqLv7ViawYVkmT5Dd0RcJcEOH4cUrCdaFWC7EGG kt6+gymn2nyySecsT0IUVJlAjtksl1TTHYYnP/eMMQ3EaFjQ2sstpxUTPugbDii8dVo6 mTDxxKOvZvfZtt9tz0E7Lxg6CxhbGaW69lPl7EXp9Ra0/5mArEkdT9yfcnl4UAumg5rH x+rLmbt6ssQfOI5qUWOrmUYAGguWpGUCBDzVi3UVg6hVR7PqPC12r8qxboXUHp8bU60t G+JP1VPrxkBheRhz/CFULhDNmJlgG3m8AE6JvpVcH8CnB4GADxe4hULuxZrzFxP2tPV5 DwtA== X-Received: by 10.101.142.34 with SMTP id u34mr24774517ann.7.1357934664537; Fri, 11 Jan 2013 12:04:24 -0800 (PST) Received: from localhost.localdomain ([189.0.16.214]) by mx.google.com with ESMTPS id y17sm4630713ang.12.2013.01.11.12.01.48 (version=TLSv1 cipher=RC4-SHA bits=128/128); Fri, 11 Jan 2013 12:04:23 -0800 (PST) From: Rodrigo Vivi To: intel-gfx@lists.freedesktop.org Date: Fri, 11 Jan 2013 17:57:51 -0200 Message-Id: <1357934277-3300-3-git-send-email-rodrigo.vivi@gmail.com> X-Mailer: git-send-email 1.7.11.7 In-Reply-To: <1357934277-3300-1-git-send-email-rodrigo.vivi@gmail.com> References: <1357934277-3300-1-git-send-email-rodrigo.vivi@gmail.com> Cc: Sateesh Kavuri Subject: [Intel-gfx] [PATCH 2/8] drm/i915: Added SDP and VSC structures for handling PSR for eDP X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: intel-gfx-bounces+patchwork-intel-gfx=patchwork.kernel.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+patchwork-intel-gfx=patchwork.kernel.org@lists.freedesktop.org From: Shobhit Kumar Signed-off-by: Sateesh Kavuri v2: Modified and corrected the structures to be more in line for kernel coding guidelines and rebased the code on Paulo's DP patchset Signed-off-by: Shobhit Kumar v3: removing unecessary identation at DP_RECEIVER_CAP_SIZE Signed-off-by: Rodrigo Vivi --- drivers/gpu/drm/i915/intel_drv.h | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h index 116580b..9799fe9 100644 --- a/drivers/gpu/drm/i915/intel_drv.h +++ b/drivers/gpu/drm/i915/intel_drv.h @@ -371,10 +371,38 @@ struct intel_dp { int backlight_on_delay; int backlight_off_delay; struct delayed_work panel_vdd_work; + uint8_t psr_setup; bool want_panel_vdd; struct intel_connector *attached_connector; }; +/* SDP header as per eDP 1.3 spec, section 3.6 */ +struct edp_sdp_header { + u8 id; + u8 type; + u8 revision : 5; /* Bits 0:4 */ + u8 rsvd1 : 3; /* Bits 5:7 */ + u8 valid_payload_bytes : 5; /* Bits 0:4 */ + u8 rsvd2 : 3; /* Bits 5:7 */ +} __attribute__((packed)); + +/* SDP VSC header as per eDP 1.3 spec, section 3.6 */ +struct edp_vsc_psr { + struct edp_sdp_header sdp_header; + u8 unused; + u8 psr_state : 1; /* Bit 0 */ + u8 update_rfb : 1; /* Bit 1 */ + u8 valid_crc : 1; /* Bit 2 */ + u8 reserved1 : 5; /* Bits 3:7 */ + u8 crc_r_lower; + u8 crc_r_higher; + u8 crc_g_lower; + u8 crc_g_higher; + u8 crc_b_lower; + u8 crc_b_higher; + u8 reserved2[24]; +} __attribute__((packed)); + struct intel_digital_port { struct intel_encoder base; enum port port;