Пример #1
0
static void ps3av_set_videomode_cont(u32 id, u32 old_id)
{
    static int vesa = 0;
    int res;

    /* video signal off */
    ps3av_set_video_disable_sig();

    /*
     * AV backend needs non-VESA mode setting at least one time
     * when VESA mode is used.
     */
    if (vesa == 0 && (id & PS3AV_MODE_MASK) >= 11) {
        /* vesa mode */
        ps3av_set_videomode_packet(2);	/* 480P */
    }
    vesa = 1;

    /* Retail PS3 product doesn't support this */
    if (id & PS3AV_MODE_HDCP_OFF) {
        res = ps3av_cmd_av_hdmi_mode(PS3AV_CMD_AV_HDMI_HDCP_OFF);
        if (res == PS3AV_STATUS_UNSUPPORTED_HDMI_MODE)
            dev_dbg(&ps3av->dev->core, "Not supported\n");
        else if (res)
            dev_dbg(&ps3av->dev->core,
                    "ps3av_cmd_av_hdmi_mode failed\n");
    } else if (old_id & PS3AV_MODE_HDCP_OFF) {
        res = ps3av_cmd_av_hdmi_mode(PS3AV_CMD_AV_HDMI_MODE_NORMAL);
        if (res < 0 && res != PS3AV_STATUS_UNSUPPORTED_HDMI_MODE)
            dev_dbg(&ps3av->dev->core,
                    "ps3av_cmd_av_hdmi_mode failed\n");
    }

    ps3av_set_videomode_packet(id);

    msleep(1500);
    /* av video mute */
    ps3av_set_av_video_mute(PS3AV_CMD_MUTE_OFF);
}
Пример #2
0
static void ps3av_set_videomode_cont(u32 id, u32 old_id)
{
	static int vesa;
	int res;

	
	ps3av_set_video_disable_sig();

	
	if (vesa == 0 && (id & PS3AV_MODE_MASK) >= PS3AV_MODE_WXGA) {
		
		ps3av_set_videomode_packet(PS3AV_MODE_480P);
	}
	vesa = 1;

	
	if (id & PS3AV_MODE_HDCP_OFF) {
		res = ps3av_cmd_av_hdmi_mode(PS3AV_CMD_AV_HDMI_HDCP_OFF);
		if (res == PS3AV_STATUS_UNSUPPORTED_HDMI_MODE)
			dev_dbg(&ps3av->dev->core, "Not supported\n");
		else if (res)
			dev_dbg(&ps3av->dev->core,
				"ps3av_cmd_av_hdmi_mode failed\n");
	} else if (old_id & PS3AV_MODE_HDCP_OFF) {
		res = ps3av_cmd_av_hdmi_mode(PS3AV_CMD_AV_HDMI_MODE_NORMAL);
		if (res < 0 && res != PS3AV_STATUS_UNSUPPORTED_HDMI_MODE)
			dev_dbg(&ps3av->dev->core,
				"ps3av_cmd_av_hdmi_mode failed\n");
	}

	ps3av_set_videomode_packet(id);

	msleep(1500);
	
	ps3av_set_av_video_mute(PS3AV_CMD_MUTE_OFF);
}