public inbox for linuxppc-dev@ozlabs.org 
 help / color / mirror / Atom feed
From: Geoff Levand <geoffrey.levand@am•sony.com>
To: paulus@samba•org
Cc: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom•com>,
	linuxppc-dev@ozlabs•org,
	Masashi Kimoto <Masashi_Kimoto@hq•scei.sony.co.jp>
Subject: [patch 07/33] PS3: Add support for HDMI RGB Full Range mode
Date: Fri, 15 Jun 2007 14:19:10 -0700	[thread overview]
Message-ID: <4673024E.9060908@am.sony.com> (raw)
In-Reply-To: <20070615204749.629571012@am.sony.com>>

From: Masashi Kimoto <Masashi_Kimoto@hq•scei.sony.co.jp>

Add support for HDMI RGB Full Range mode, which is available on system
software 1.80 or newer.

CC: Masashi Kimoto <Masashi_Kimoto@hq•scei.sony.co.jp>
Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom•com>
Signed-off-by: Geoff Levand <geoffrey.levand@am•sony.com>
---
 drivers/ps3/ps3av_cmd.c     |   16 ++++++++++++++++
 include/asm-powerpc/ps3av.h |   12 +++++++++---
 2 files changed, 25 insertions(+), 3 deletions(-)

--- a/drivers/ps3/ps3av_cmd.c
+++ b/drivers/ps3/ps3av_cmd.c
@@ -143,6 +143,14 @@ static u32 ps3av_vid_video2av(int vid)
 	return PS3AV_CMD_AV_VID_480P;
 }
 
+static int ps3av_hdmi_range(void)
+{
+	if (ps3_compare_firmware_version(1, 8, 0) < 0)
+		return 0;
+	else
+		return 1; /* supported */
+}
+
 int ps3av_cmd_init(void)
 {
 	int res;
@@ -350,6 +358,10 @@ u32 ps3av_cmd_set_av_video_cs(void *p, u
 	/* should be same as video_mode.video_cs_out */
 	av_video_cs->av_cs_in = ps3av_cs_video2av(PS3AV_CMD_VIDEO_CS_RGB_8);
 	av_video_cs->bitlen_out = ps3av_cs_video2av_bitlen(cs_out);
+	if ((id & PS3AV_MODE_WHITE) && ps3av_hdmi_range())
+		av_video_cs->super_white = PS3AV_CMD_AV_SUPER_WHITE_ON;
+	else /* default off */
+		av_video_cs->super_white = PS3AV_CMD_AV_SUPER_WHITE_OFF;
 	av_video_cs->aspect = aspect;
 	if (id & PS3AV_MODE_DITHER) {
 		av_video_cs->dither = PS3AV_CMD_AV_DITHER_ON
@@ -392,6 +404,10 @@ u32 ps3av_cmd_set_video_mode(void *p, u3
 	video_mode->pitch = video_mode->width * 4;	/* line_length */
 	video_mode->video_out_format = PS3AV_CMD_VIDEO_OUT_FORMAT_RGB_12BIT;
 	video_mode->video_format = ps3av_video_fmt_table[video_fmt].format;
+	if ((id & PS3AV_MODE_COLOR) && ps3av_hdmi_range())
+		video_mode->video_cl_cnv = PS3AV_CMD_VIDEO_CL_CNV_DISABLE_LUT;
+	else /* default enable */
+		video_mode->video_cl_cnv = PS3AV_CMD_VIDEO_CL_CNV_ENABLE_LUT;
 	video_mode->video_order = ps3av_video_fmt_table[video_fmt].order;
 
 	pr_debug("%s: video_mode:vid:%x width:%d height:%d pitch:%d out_format:%d format:%x order:%x\n",
--- a/include/asm-powerpc/ps3av.h
+++ b/include/asm-powerpc/ps3av.h
@@ -159,6 +159,9 @@
 #define PS3AV_CMD_VIDEO_FMT_X8R8G8B8			0x0000
 /* video_out_format */
 #define PS3AV_CMD_VIDEO_OUT_FORMAT_RGB_12BIT		0x0000
+/* video_cl_cnv */
+#define PS3AV_CMD_VIDEO_CL_CNV_ENABLE_LUT		0x0000
+#define PS3AV_CMD_VIDEO_CL_CNV_DISABLE_LUT		0x0010
 /* video_sync */
 #define PS3AV_CMD_VIDEO_SYNC_VSYNC			0x0001
 #define PS3AV_CMD_VIDEO_SYNC_CSYNC			0x0004
@@ -311,6 +314,8 @@
 #define PS3AV_MODE_MASK				0x000F
 #define PS3AV_MODE_HDCP_OFF			0x1000	/* Retail PS3 product doesn't support this */
 #define PS3AV_MODE_DITHER			0x0800
+#define PS3AV_MODE_COLOR			0x0400
+#define PS3AV_MODE_WHITE			0x0200
 #define PS3AV_MODE_FULL				0x0080
 #define PS3AV_MODE_DVI				0x0040
 #define PS3AV_MODE_RGB				0x0020
@@ -529,9 +534,9 @@ struct ps3av_pkt_video_mode {
 	u32 video_out_format;	/* in: out format */
 	u32 video_format;	/* in: input frame buffer format */
 	u8 reserved3;
-	u8 reserved4;
+	u8 video_cl_cnv;	/* in: color conversion */
 	u16 video_order;	/* in: input RGB order */
-	u32 reserved5;
+	u32 reserved4;
 };
 
 /* video: format */
@@ -539,7 +544,8 @@ struct ps3av_pkt_video_format {
 	struct ps3av_send_hdr send_hdr;
 	u32 video_head;		/* in: head */
 	u32 video_format;	/* in: frame buffer format */
-	u16 reserved;
+	u8 reserved;
+	u8 video_cl_cnv;	/* in: color conversion */
 	u16 video_order;	/* in: input RGB order */
 };
 

-- 

  parent reply	other threads:[~2007-06-15 22:18 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20070615204749.629571012@am.sony.com>
2007-06-15 21:17 ` [patch 01/33] Cell: Add spu shutdown method Geoff Levand
2007-06-15 21:17 ` [patch 02/33] PS3: Rename IPI symbols Geoff Levand
2007-06-15 21:18 ` [patch 03/33] PS3: Use __maybe_unused Geoff Levand
2007-06-15 21:18 ` [patch 04/33] PS3: Compare firmware version Geoff Levand
2007-06-15 21:18 ` [patch 05/33] PS3: Use ioremap_flags Geoff Levand
2007-06-15 21:19 ` [patch 06/33] PS3: Fix sparse warnings Geoff Levand
2007-06-15 21:19 ` Geoff Levand [this message]
2007-06-15 21:19 ` [patch 08/33] PS3: Move chip mask defs up Geoff Levand
2007-06-15 21:19 ` [patch 09/33] PS3: Simplify definition of DBG Geoff Levand
2007-06-15 21:19 ` [patch 10/33] PS3: Kexec support Geoff Levand
2007-06-15 21:52 ` [patch 11/33] PS3: System-bus rework Geoff Levand
2007-06-15 21:55 ` [patch 12/33] PS3: System-bus uevent Geoff Levand
2007-06-15 21:55 ` [patch 13/33] PS3: System-bus modinfo attribute Geoff Levand
2007-06-15 21:55 ` [patch 14/33] PS3: Repository probe cleanups Geoff Levand
2007-06-15 22:01 ` [patch 15/33] PS3: Vuart rework Geoff Levand
2007-06-15 22:03 ` [patch 16/33] PS3: System manager re-work Geoff Levand
2007-06-15 22:05 ` [patch 17/33] PS3: Rework AV settings driver Geoff Levand
2007-06-15 22:05 ` [patch 18/33] PS3: Frame buffer system-bus rework Geoff Levand
2007-06-19  6:47   ` Paul Mackerras
2007-06-19  7:09     ` Geert Uytterhoeven
2007-06-21 22:18     ` Levand, Geoffrey
2007-06-15 22:05 ` [patch 19/33] PS3: Device registration routines Geoff Levand
2007-06-15 22:06 ` [patch 20/33] PS3: Rename processor id symbols Geoff Levand
2007-06-15 22:06 ` [patch 21/33] PS3: Use clear_bit Geoff Levand
2007-06-15 23:43   ` Benjamin Herrenschmidt
2007-06-15 22:06 ` [patch 22/33] powerpc: Output params value in early_init_devtree Geoff Levand
2007-06-15 22:06 ` [patch 23/33] powerpc: Localize mmu_off Geoff Levand
2007-06-18 14:08   ` Milton Miller
2007-06-18 22:47     ` Geoff Levand
2007-06-19  6:46   ` Paul Mackerras
2007-06-23 19:24     ` Geoff Levand
2007-06-15 22:06 ` [patch 24/33] powerpc: Correct __secondary_hold comment Geoff Levand
2007-06-18 14:08   ` Milton Miller
2007-06-18 16:56     ` Segher Boessenkool
2007-06-18 22:47     ` Geoff Levand
2007-06-15 22:06 ` [patch 25/33] Powerpc: Add signed types to bootwrapper Geoff Levand
2007-06-15 22:06 ` [patch 26/33] Powerpc: Add u64 printf " Geoff Levand
2007-06-15 22:06 ` [patch 27/33] Powerpc: Fix constantness of bootwrapper arg Geoff Levand
2007-06-15 22:06 ` [patch 28/33] powerpc: Bootwrapper global scope kernel_entry_t Geoff Levand
2007-06-15 22:06 ` [patch 29/33] PS3: Device tree source Geoff Levand
2007-06-15 23:48   ` Segher Boessenkool
2007-06-15 22:07 ` [patch 30/33] PS3: Bootwrapper support Geoff Levand
2007-06-18 14:20   ` Milton Miller
2007-06-18 22:47     ` Geoff Levand
2007-06-18 22:55     ` Mark A. Greer
2007-06-19  0:01       ` Geoff Levand
2007-06-19  5:58         ` Mark A. Greer
2007-06-19  6:44         ` Paul Mackerras
2007-06-21 22:24           ` Levand, Geoffrey
2007-06-18 22:47   ` [patch 30/33 v2] " Geoff Levand
2007-06-23 19:16   ` [patch 30/33 v3] " Geoff Levand
2007-07-03 23:07     ` [patch v4] " Geoff Levand
2007-06-15 22:07 ` [patch 31/33] PS3: Select MEMORY_HOTPLUG Geoff Levand
2007-06-15 22:07 ` [patch 32/33] PS3: Fix more sparse warnings Geoff Levand
2007-06-15 22:07 ` [patch 33/33] PS3: Update ps3_defconfig Geoff Levand

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4673024E.9060908@am.sony.com \
    --to=geoffrey.levand@am$(echo .)sony.com \
    --cc=Geert.Uytterhoeven@sonycom$(echo .)com \
    --cc=Masashi_Kimoto@hq$(echo .)scei.sony.co.jp \
    --cc=linuxppc-dev@ozlabs$(echo .)org \
    --cc=paulus@samba$(echo .)org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox