Lines Matching refs:ps3av

17 #include <asm/ps3av.h>
32 static struct ps3av {
51 } *ps3av;
159 dev_dbg(&ps3av->dev->core,
215 if (!ps3av)
219 res = ps3av_vuart_write(ps3av->dev, send_buf, write_len);
221 dev_warn(&ps3av->dev->core,
231 res = ps3av_vuart_read(ps3av->dev, recv_buf, PS3AV_HDR_SIZE,
234 dev_warn(&ps3av->dev->core,
241 res = ps3av_vuart_read(ps3av->dev, &recv_buf->cid,
244 dev_warn(&ps3av->dev->core,
255 dev_warn(&ps3av->dev->core, "%s:%d: reply err: %x\n", __func__,
270 dev_dbg(&ps3av->dev->core, "reply_packet invalid version:%x\n",
294 BUG_ON(!ps3av);
296 mutex_lock(&ps3av->mutex);
308 res = ps3av_send_cmd_pkt(buf, &ps3av->recv_buf.reply_hdr, send_len,
318 res = ps3av_process_reply_packet(buf, &ps3av->recv_buf.reply_hdr,
326 mutex_unlock(&ps3av->mutex);
330 mutex_unlock(&ps3av->mutex);
339 num_of_av_port = ps3av->av_hw_conf.num_of_hdmi +
340 ps3av->av_hw_conf.num_of_avmulti;
343 res = ps3av_cmd_av_video_mute(1, &ps3av->av_port[i], mute);
355 num_of_hdmi_port = ps3av->av_hw_conf.num_of_hdmi;
356 num_of_av_port = ps3av->av_hw_conf.num_of_hdmi +
357 ps3av->av_hw_conf.num_of_avmulti;
361 res = ps3av_cmd_av_tv_mute(ps3av->av_port[i],
370 res = ps3av_cmd_av_video_disable_sig(ps3av->av_port[i]);
374 res = ps3av_cmd_av_tv_mute(ps3av->av_port[i],
389 num_of_av_port = ps3av->av_hw_conf.num_of_hdmi +
390 ps3av->av_hw_conf.num_of_avmulti;
391 num_of_opt_port = ps3av->av_hw_conf.num_of_spdif;
394 res = ps3av_cmd_av_audio_mute(1, &ps3av->av_port[i], mute);
399 res = ps3av_cmd_audio_mute(1, &ps3av->opt_port[i], mute);
414 num_of_audio = ps3av->av_hw_conf.num_of_hdmi +
415 ps3av->av_hw_conf.num_of_avmulti +
416 ps3av->av_hw_conf.num_of_spdif;
421 avb_param.num_of_av_audio_pkt = ps3av->av_hw_conf.num_of_hdmi;
423 vid = video_mode_table[ps3av->ps3av_mode].vid;
429 res = ps3av_cmd_audio_active(0, ps3av->audio_port);
431 dev_dbg(&ps3av->dev->core,
436 ps3av_cmd_set_audio_mode(&audio_mode, ps3av->av_port[i], ch,
438 if (i < ps3av->av_hw_conf.num_of_hdmi) {
441 ps3av->av_port[i],
447 dev_dbg(&ps3av->dev->core,
455 dev_dbg(&ps3av->dev->core, "ps3av_cmd_avb_param failed\n");
461 res = ps3av_cmd_audio_active(1, ps3av->audio_port);
463 dev_dbg(&ps3av->dev->core,
476 schedule_work(&ps3av->work);
493 avb_param.num_of_av_video_pkt = ps3av->av_hw_conf.num_of_hdmi +
494 ps3av->av_hw_conf.num_of_avmulti;
500 ps3av->head[i], video_mode->vid,
509 if (ps3av->av_port[i] == PS3AV_CMD_AVPORT_HDMI_0 ||
510 ps3av->av_port[i] == PS3AV_CMD_AVPORT_HDMI_1)
514 ps3av->av_port[i],
526 dev_dbg(&ps3av->dev->core, "ps3av_cmd_avb_param failed\n");
551 dev_dbg(&ps3av->dev->core, "Not supported\n");
553 dev_dbg(&ps3av->dev->core,
558 dev_dbg(&ps3av->dev->core,
571 ps3av_set_videomode_cont(ps3av->ps3av_mode, ps3av->ps3av_mode_old);
572 complete(&ps3av->done);
649 if (ps3av->region & PS3AV_REGION_60)
782 if (ps3av->region & PS3AV_REGION_60)
786 if (ps3av->region & PS3AV_REGION_RGB)
794 static int ps3av_get_hw_conf(struct ps3av *ps3av)
800 res = ps3av_cmd_av_get_hw_conf(&ps3av->av_hw_conf);
804 hw_conf = &ps3av->av_hw_conf;
810 ps3av->head[i] = PS3AV_CMD_VIDEO_HEAD_A + i;
812 ps3av->opt_port[i] = PS3AV_CMD_AVPORT_SPDIF_0 + i;
814 ps3av->av_port[i] = PS3AV_CMD_AVPORT_HDMI_0 + i;
816 ps3av->av_port[i + j] = PS3AV_CMD_AVPORT_AVMULTI_0 + j;
818 ps3av->av_port[i + j + k] = PS3AV_CMD_AVPORT_SPDIF_0 + k;
821 ps3av->audio_port = PS3AV_CMD_AUDIO_PORT_HDMI_0
837 dev_dbg(&ps3av->dev->core, "%s: error id :%d\n", __func__, id);
844 id = ps3av_auto_videomode(&ps3av->av_hw_conf);
853 wait_for_completion(&ps3av->done);
854 ps3av->ps3av_mode_old = ps3av->ps3av_mode;
855 ps3av->ps3av_mode = id;
857 ps3av->ps3av_mode = ps3av->ps3av_mode_old;
865 return ps3av_auto_videomode(&ps3av->av_hw_conf);
871 return ps3av ? ps3av->ps3av_mode : 0;
905 for (i = 0; i < ps3av->av_hw_conf.num_of_avmulti; i++) {
907 &ps3av->av_port[i + ps3av->av_hw_conf.num_of_hdmi],
932 if (ps3av) {
933 dev_err(&dev->core, "Only one ps3av device is supported\n");
937 ps3av = kzalloc(sizeof(*ps3av), GFP_KERNEL);
938 if (!ps3av)
941 mutex_init(&ps3av->mutex);
942 ps3av->ps3av_mode = PS3AV_MODE_AUTO;
943 ps3av->dev = dev;
945 INIT_WORK(&ps3av->work, ps3avd);
946 init_completion(&ps3av->done);
947 complete(&ps3av->done);
951 ps3av->region = PS3AV_REGION_60;
955 ps3av->region = PS3AV_REGION_50;
958 ps3av->region = PS3AV_REGION_50 | PS3AV_REGION_RGB;
961 ps3av->region = PS3AV_REGION_60;
971 ps3av_get_hw_conf(ps3av);
976 id = ps3av_auto_videomode(&ps3av->av_hw_conf);
985 mutex_lock(&ps3av->mutex);
986 ps3av->ps3av_mode = id;
987 mutex_unlock(&ps3av->mutex);
994 kfree(ps3av);
995 ps3av = NULL;
1002 if (ps3av) {
1004 flush_work(&ps3av->work);
1005 kfree(ps3av);
1006 ps3av = NULL;