diff options
Diffstat (limited to 'drivers/ps3')
-rw-r--r-- | drivers/ps3/ps3av.c | 39 |
1 files changed, 20 insertions, 19 deletions
diff --git a/drivers/ps3/ps3av.c b/drivers/ps3/ps3av.c index 9671d0cd18c6..6f2f90ebb020 100644 --- a/drivers/ps3/ps3av.c +++ b/drivers/ps3/ps3av.c | |||
@@ -542,7 +542,7 @@ static void ps3av_set_videomode_packet(u32 id) | |||
542 | 542 | ||
543 | static void ps3av_set_videomode_cont(u32 id, u32 old_id) | 543 | static void ps3av_set_videomode_cont(u32 id, u32 old_id) |
544 | { | 544 | { |
545 | static int vesa = 0; | 545 | static int vesa; |
546 | int res; | 546 | int res; |
547 | 547 | ||
548 | /* video signal off */ | 548 | /* video signal off */ |
@@ -552,9 +552,9 @@ static void ps3av_set_videomode_cont(u32 id, u32 old_id) | |||
552 | * AV backend needs non-VESA mode setting at least one time | 552 | * AV backend needs non-VESA mode setting at least one time |
553 | * when VESA mode is used. | 553 | * when VESA mode is used. |
554 | */ | 554 | */ |
555 | if (vesa == 0 && (id & PS3AV_MODE_MASK) >= 11) { | 555 | if (vesa == 0 && (id & PS3AV_MODE_MASK) >= PS3AV_MODE_WXGA) { |
556 | /* vesa mode */ | 556 | /* vesa mode */ |
557 | ps3av_set_videomode_packet(2); /* 480P */ | 557 | ps3av_set_videomode_packet(PS3AV_MODE_480P); |
558 | } | 558 | } |
559 | vesa = 1; | 559 | vesa = 1; |
560 | 560 | ||
@@ -594,20 +594,21 @@ static const struct { | |||
594 | unsigned mask : 19; | 594 | unsigned mask : 19; |
595 | unsigned id : 4; | 595 | unsigned id : 4; |
596 | } ps3av_preferred_modes[] = { | 596 | } ps3av_preferred_modes[] = { |
597 | { .mask = PS3AV_RESBIT_WUXGA << SHIFT_VESA, .id = 13 }, | 597 | { PS3AV_RESBIT_WUXGA << SHIFT_VESA, PS3AV_MODE_WUXGA }, |
598 | { .mask = PS3AV_RESBIT_1920x1080P << SHIFT_60, .id = 5 }, | 598 | { PS3AV_RESBIT_1920x1080P << SHIFT_60, PS3AV_MODE_1080P60 }, |
599 | { .mask = PS3AV_RESBIT_1920x1080P << SHIFT_50, .id = 10 }, | 599 | { PS3AV_RESBIT_1920x1080P << SHIFT_50, PS3AV_MODE_1080P50 }, |
600 | { .mask = PS3AV_RESBIT_1920x1080I << SHIFT_60, .id = 4 }, | 600 | { PS3AV_RESBIT_1920x1080I << SHIFT_60, PS3AV_MODE_1080I60 }, |
601 | { .mask = PS3AV_RESBIT_1920x1080I << SHIFT_50, .id = 9 }, | 601 | { PS3AV_RESBIT_1920x1080I << SHIFT_50, PS3AV_MODE_1080I50 }, |
602 | { .mask = PS3AV_RESBIT_SXGA << SHIFT_VESA, .id = 12 }, | 602 | { PS3AV_RESBIT_SXGA << SHIFT_VESA, PS3AV_MODE_SXGA }, |
603 | { .mask = PS3AV_RESBIT_WXGA << SHIFT_VESA, .id = 11 }, | 603 | { PS3AV_RESBIT_WXGA << SHIFT_VESA, PS3AV_MODE_WXGA }, |
604 | { .mask = PS3AV_RESBIT_1280x720P << SHIFT_60, .id = 3 }, | 604 | { PS3AV_RESBIT_1280x720P << SHIFT_60, PS3AV_MODE_720P60 }, |
605 | { .mask = PS3AV_RESBIT_1280x720P << SHIFT_50, .id = 8 }, | 605 | { PS3AV_RESBIT_1280x720P << SHIFT_50, PS3AV_MODE_720P50 }, |
606 | { .mask = PS3AV_RESBIT_720x480P << SHIFT_60, .id = 2 }, | 606 | { PS3AV_RESBIT_720x480P << SHIFT_60, PS3AV_MODE_480P }, |
607 | { .mask = PS3AV_RESBIT_720x576P << SHIFT_50, .id = 7 }, | 607 | { PS3AV_RESBIT_720x576P << SHIFT_50, PS3AV_MODE_576P }, |
608 | }; | 608 | }; |
609 | 609 | ||
610 | static int ps3av_resbit2id(u32 res_50, u32 res_60, u32 res_vesa) | 610 | static enum ps3av_mode_num ps3av_resbit2id(u32 res_50, u32 res_60, |
611 | u32 res_vesa) | ||
611 | { | 612 | { |
612 | unsigned int i; | 613 | unsigned int i; |
613 | u32 res_all; | 614 | u32 res_all; |
@@ -636,9 +637,9 @@ static int ps3av_resbit2id(u32 res_50, u32 res_60, u32 res_vesa) | |||
636 | return 0; | 637 | return 0; |
637 | } | 638 | } |
638 | 639 | ||
639 | static int ps3av_hdmi_get_id(struct ps3av_info_monitor *info) | 640 | static enum ps3av_mode_num ps3av_hdmi_get_id(struct ps3av_info_monitor *info) |
640 | { | 641 | { |
641 | int id; | 642 | enum ps3av_mode_num id; |
642 | 643 | ||
643 | if (safe_mode) | 644 | if (safe_mode) |
644 | return PS3AV_DEFAULT_HDMI_MODE_ID_REG_60; | 645 | return PS3AV_DEFAULT_HDMI_MODE_ID_REG_60; |
@@ -852,7 +853,7 @@ int ps3av_set_video_mode(u32 id) | |||
852 | 853 | ||
853 | /* auto mode */ | 854 | /* auto mode */ |
854 | option = id & ~PS3AV_MODE_MASK; | 855 | option = id & ~PS3AV_MODE_MASK; |
855 | if ((id & PS3AV_MODE_MASK) == 0) { | 856 | if ((id & PS3AV_MODE_MASK) == PS3AV_MODE_AUTO) { |
856 | id = ps3av_auto_videomode(&ps3av->av_hw_conf); | 857 | id = ps3av_auto_videomode(&ps3av->av_hw_conf); |
857 | if (id < 1) { | 858 | if (id < 1) { |
858 | printk(KERN_ERR "%s: invalid id :%d\n", __func__, id); | 859 | printk(KERN_ERR "%s: invalid id :%d\n", __func__, id); |
@@ -958,7 +959,7 @@ static int ps3av_probe(struct ps3_system_bus_device *dev) | |||
958 | return -ENOMEM; | 959 | return -ENOMEM; |
959 | 960 | ||
960 | mutex_init(&ps3av->mutex); | 961 | mutex_init(&ps3av->mutex); |
961 | ps3av->ps3av_mode = 0; | 962 | ps3av->ps3av_mode = PS3AV_MODE_AUTO; |
962 | ps3av->dev = dev; | 963 | ps3av->dev = dev; |
963 | 964 | ||
964 | INIT_WORK(&ps3av->work, ps3avd); | 965 | INIT_WORK(&ps3av->work, ps3avd); |