From: Geoff Levand <geoffrey.levand@am•sony.com>
To: linuxppc-dev@ozlabs•org
Cc: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom•com>,
Paul Mackerras <paulus@samba•org>,
Masashi Kimoto <Masashi_Kimoto@hq•scei.sony.co.jp>
Subject: [patch 06/18] PS3: Add support for HDMI RGB Full Range mode
Date: Tue, 05 Jun 2007 19:59:59 -0700 [thread overview]
Message-ID: <4666232F.9090200@am.sony.com> (raw)
In-Reply-To: <20070606024407.786638029@am.sony.com>>
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 */
};
--
next prev parent reply other threads:[~2007-06-06 3:29 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20070606024407.786638029@am.sony.com>
2007-06-06 2:59 ` [patch 01/18] Cell: Add spu shutdown method Geoff Levand
2007-06-06 4:08 ` Michael Ellerman
2007-06-06 14:41 ` André Detsch
2007-06-06 2:59 ` [patch 02/18] PS3: Rename IPI symbols Geoff Levand
2007-06-06 3:11 ` Stephen Rothwell
2007-06-06 14:48 ` Will Schmidt
2007-06-06 20:47 ` Geoff Levand
2007-06-06 20:49 ` Geoff Levand
2007-06-06 2:59 ` [patch 03/18] PS3: Use __maybe_unused Geoff Levand
2007-06-06 4:05 ` Michael Ellerman
2007-06-06 22:37 ` Geoff Levand
2007-06-06 2:59 ` [patch 04/18] PS3: Compare firmware version Geoff Levand
2007-06-06 2:59 ` [patch 05/18] PS3: Fix sparse warnings Geoff Levand
2007-06-06 14:21 ` Arnd Bergmann
2007-06-07 14:34 ` Geoff Levand
2007-06-08 5:59 ` Takao Shinohara
2007-06-06 2:59 ` Geoff Levand [this message]
2007-06-06 3:00 ` [patch 07/18] PS3: Make ps3av.h usable from user space Geoff Levand
2007-06-06 7:46 ` Christoph Hellwig
2007-06-06 11:27 ` Geert Uytterhoeven
2007-06-06 16:44 ` Geoff Levand
2007-06-07 19:15 ` Christoph Hellwig
2007-06-06 3:00 ` [patch 08/18] PS3: Kexec support Geoff Levand
2007-06-06 4:01 ` Michael Ellerman
2007-06-06 21:55 ` Geoff Levand
2007-06-07 1:25 ` Stephen Rothwell
2007-06-07 1:33 ` Geoff Levand
2007-06-07 2:48 ` Stephen Rothwell
2007-06-07 2:31 ` Michael Ellerman
2007-06-07 2:54 ` Benjamin Herrenschmidt
2007-06-10 0:13 ` Geoff Levand
2007-06-09 8:17 ` [patch 08/18] PS3: Kexec support (and a tutoral on the kexec flow for 64 bit powerpc) Milton Miller
2007-06-09 22:47 ` Geoff Levand
2007-06-06 3:00 ` [patch 09/18] PS3: System-bus rework Geoff Levand
2007-06-06 6:43 ` Geert Uytterhoeven
2007-06-11 7:07 ` Milton Miller
2007-06-11 15:39 ` Geoff Levand
2007-06-11 15:45 ` Geert Uytterhoeven
2007-06-06 3:00 ` [patch 10/18] PS3: System-bus uevent Geoff Levand
2007-06-06 3:00 ` [patch 11/18] PS3: System-bus modinfo attribute Geoff Levand
2007-06-06 3:17 ` Stephen Rothwell
2007-06-06 3:00 ` [patch 12/18] PS3: Repository probe cleanups Geoff Levand
2007-06-06 3:01 ` [patch 13/18] PS3: USB system-bus rework Geoff Levand
2007-06-06 3:01 ` [patch 14/18] PS3: Vuart rework Geoff Levand
2007-06-06 3:01 ` [patch 15/18] PS3: System manager re-work Geoff Levand
2007-06-06 6:51 ` Geert Uytterhoeven
2007-06-06 3:01 ` [patch 16/18] PS3: Rework AV settings driver Geoff Levand
2007-06-06 6:49 ` Geert Uytterhoeven
2007-06-06 3:01 ` [patch 17/18] PS3: Frame buffer system-bus rework Geoff Levand
2007-06-06 6:51 ` Geert Uytterhoeven
2007-06-06 15:56 ` [Linux-fbdev-devel] " Antonino A. Daplas
2007-06-06 23:08 ` Geoff Levand
2007-06-06 23:37 ` Antonino A. Daplas
2007-06-06 3:01 ` [patch 18/18] PS3: Device registration routines Geoff Levand
2007-06-06 6:57 ` Geert Uytterhoeven
2007-06-06 12:21 ` Geert Uytterhoeven
2007-06-06 3:04 ` [patch 13/18] PS3: USB system-bus rework Geoff Levand
2007-06-08 23:22 ` [patch] PS3: Fix USB return value Geoff Levand
2007-06-25 7:30 ` Greg KH
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=4666232F.9090200@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