From 242d04998825eff3e1a0de6052538277ba3cffeb Mon Sep 17 00:00:00 2001 From: Stefan Saraev Date: Tue, 29 Apr 2014 14:00:33 +0300 Subject: [PATCH 1/2] linux: update patches to 3.15-rc3 --- .../linux-003-no_dev_console.patch | 0 .../linux-052-XBOX_remote_support.patch | 0 .../linux-053-spinelplus-remote-0.2.patch | 0 ...1056c5564eec8a1b169c6e84ff3.6.114c13.patch | 0 ...-add_Formosa_eHome_Infrared_Receiver.patch | 0 ...-add_Adaptec_eHome_Infrared_Receiver.patch | 0 ...tomer-code-restriction-in-rc6-decode.patch | 0 ..._Manufacturing_Inc_Infrared_Receiver.patch | 0 ..._sony-add_autorepeat_for_PS3_remotes.patch | 0 .../linux-058.06-hid_sony-add_SMK_link.patch | 0 .../linux-059-remove_some_xpad_pids-0.2.patch | 0 .../linux-060-add_AUGUST_DVB-T205.patch | 0 ...x-203-stb0899_enable_low_symbol_rate.patch | 0 .../linux-210-dvbsky.patch | 0 ...linux-212-mantis_stb0899_faster_lock.patch | 0 .../linux-221-ngene-octopus.patch | 0 .../linux-222-stb0899_signal_quality.patch | 0 ...-video-artifacts-with-tt-3600-s2-usb.patch | 0 .../linux-701-linksys_aes2500_brcmfmac.patch | 0 .../linux-703-macmini2012-ethernet.patch | 0 ...704-Support-for-Ubiquiti-WifiStation.patch | 0 ...Support-for-Buffalo-WLI-UC-G300HP-V1.patch | 0 .../linux-706-Sitecom-N300.patch | 0 .../linux-900-hide_tsc_error.patch | 0 ...x-950-saa716x_PCIe_interface_chipset.patch | 0 ...utputting-HDMI-audio-before-prepare-.patch | 0 .../linux-991.01-ptrace_fix.patch | 0 .../linux-995-CX24120-13Z_frontend.patch | 0 ...able-async-suspend-resume-by-default.patch | 0 .../linux-999.03-drm-radeon-PLL-fixes.patch | 191 ------------------ 30 files changed, 191 deletions(-) rename packages/linux/patches/{3.15-rc2 => 3.15-rc3}/linux-003-no_dev_console.patch (100%) rename packages/linux/patches/{3.15-rc2 => 3.15-rc3}/linux-052-XBOX_remote_support.patch (100%) rename packages/linux/patches/{3.15-rc2 => 3.15-rc3}/linux-053-spinelplus-remote-0.2.patch (100%) rename packages/linux/patches/{3.15-rc2 => 3.15-rc3}/linux-054-nuvoton_revert_d7b290a1056c5564eec8a1b169c6e84ff3.6.114c13.patch (100%) rename packages/linux/patches/{3.15-rc2 => 3.15-rc3}/linux-055-add_Formosa_eHome_Infrared_Receiver.patch (100%) rename packages/linux/patches/{3.15-rc2 => 3.15-rc3}/linux-056-add_Adaptec_eHome_Infrared_Receiver.patch (100%) rename packages/linux/patches/{3.15-rc2 => 3.15-rc3}/linux-057-Removed-MCE-customer-code-restriction-in-rc6-decode.patch (100%) rename packages/linux/patches/{3.15-rc2 => 3.15-rc3}/linux-057-add_SMK_Manufacturing_Inc_Infrared_Receiver.patch (100%) rename packages/linux/patches/{3.15-rc2 => 3.15-rc3}/linux-058.05-hid_sony-add_autorepeat_for_PS3_remotes.patch (100%) rename packages/linux/patches/{3.15-rc2 => 3.15-rc3}/linux-058.06-hid_sony-add_SMK_link.patch (100%) rename packages/linux/patches/{3.15-rc2 => 3.15-rc3}/linux-059-remove_some_xpad_pids-0.2.patch (100%) rename packages/linux/patches/{3.15-rc2 => 3.15-rc3}/linux-060-add_AUGUST_DVB-T205.patch (100%) rename packages/linux/patches/{3.15-rc2 => 3.15-rc3}/linux-203-stb0899_enable_low_symbol_rate.patch (100%) rename packages/linux/patches/{3.15-rc2 => 3.15-rc3}/linux-210-dvbsky.patch (100%) rename packages/linux/patches/{3.15-rc2 => 3.15-rc3}/linux-212-mantis_stb0899_faster_lock.patch (100%) rename packages/linux/patches/{3.15-rc2 => 3.15-rc3}/linux-221-ngene-octopus.patch (100%) rename packages/linux/patches/{3.15-rc2 => 3.15-rc3}/linux-222-stb0899_signal_quality.patch (100%) rename packages/linux/patches/{3.15-rc2 => 3.15-rc3}/linux-223-Fix-video-artifacts-with-tt-3600-s2-usb.patch (100%) rename packages/linux/patches/{3.15-rc2 => 3.15-rc3}/linux-701-linksys_aes2500_brcmfmac.patch (100%) rename packages/linux/patches/{3.15-rc2 => 3.15-rc3}/linux-703-macmini2012-ethernet.patch (100%) rename packages/linux/patches/{3.15-rc2 => 3.15-rc3}/linux-704-Support-for-Ubiquiti-WifiStation.patch (100%) rename packages/linux/patches/{3.15-rc2 => 3.15-rc3}/linux-705-Support-for-Buffalo-WLI-UC-G300HP-V1.patch (100%) rename packages/linux/patches/{3.15-rc2 => 3.15-rc3}/linux-706-Sitecom-N300.patch (100%) rename packages/linux/patches/{3.15-rc2 => 3.15-rc3}/linux-900-hide_tsc_error.patch (100%) rename packages/linux/patches/{3.15-rc2 => 3.15-rc3}/linux-950-saa716x_PCIe_interface_chipset.patch (100%) rename packages/linux/patches/{3.15-rc2 => 3.15-rc3}/linux-990.06-hda-Avoid-outputting-HDMI-audio-before-prepare-.patch (100%) rename packages/linux/patches/{3.15-rc2 => 3.15-rc3}/linux-991.01-ptrace_fix.patch (100%) rename packages/linux/patches/{3.15-rc2 => 3.15-rc3}/linux-995-CX24120-13Z_frontend.patch (100%) rename packages/linux/patches/{3.15-rc2 => 3.15-rc3}/linux-999.02-0001-pm-disable-async-suspend-resume-by-default.patch (100%) rename packages/linux/patches/{3.15-rc2 => 3.15-rc3}/linux-999.03-drm-radeon-PLL-fixes.patch (69%) diff --git a/packages/linux/patches/3.15-rc2/linux-003-no_dev_console.patch b/packages/linux/patches/3.15-rc3/linux-003-no_dev_console.patch similarity index 100% rename from packages/linux/patches/3.15-rc2/linux-003-no_dev_console.patch rename to packages/linux/patches/3.15-rc3/linux-003-no_dev_console.patch diff --git a/packages/linux/patches/3.15-rc2/linux-052-XBOX_remote_support.patch b/packages/linux/patches/3.15-rc3/linux-052-XBOX_remote_support.patch similarity index 100% rename from packages/linux/patches/3.15-rc2/linux-052-XBOX_remote_support.patch rename to packages/linux/patches/3.15-rc3/linux-052-XBOX_remote_support.patch diff --git a/packages/linux/patches/3.15-rc2/linux-053-spinelplus-remote-0.2.patch b/packages/linux/patches/3.15-rc3/linux-053-spinelplus-remote-0.2.patch similarity index 100% rename from packages/linux/patches/3.15-rc2/linux-053-spinelplus-remote-0.2.patch rename to packages/linux/patches/3.15-rc3/linux-053-spinelplus-remote-0.2.patch diff --git a/packages/linux/patches/3.15-rc2/linux-054-nuvoton_revert_d7b290a1056c5564eec8a1b169c6e84ff3.6.114c13.patch b/packages/linux/patches/3.15-rc3/linux-054-nuvoton_revert_d7b290a1056c5564eec8a1b169c6e84ff3.6.114c13.patch similarity index 100% rename from packages/linux/patches/3.15-rc2/linux-054-nuvoton_revert_d7b290a1056c5564eec8a1b169c6e84ff3.6.114c13.patch rename to packages/linux/patches/3.15-rc3/linux-054-nuvoton_revert_d7b290a1056c5564eec8a1b169c6e84ff3.6.114c13.patch diff --git a/packages/linux/patches/3.15-rc2/linux-055-add_Formosa_eHome_Infrared_Receiver.patch b/packages/linux/patches/3.15-rc3/linux-055-add_Formosa_eHome_Infrared_Receiver.patch similarity index 100% rename from packages/linux/patches/3.15-rc2/linux-055-add_Formosa_eHome_Infrared_Receiver.patch rename to packages/linux/patches/3.15-rc3/linux-055-add_Formosa_eHome_Infrared_Receiver.patch diff --git a/packages/linux/patches/3.15-rc2/linux-056-add_Adaptec_eHome_Infrared_Receiver.patch b/packages/linux/patches/3.15-rc3/linux-056-add_Adaptec_eHome_Infrared_Receiver.patch similarity index 100% rename from packages/linux/patches/3.15-rc2/linux-056-add_Adaptec_eHome_Infrared_Receiver.patch rename to packages/linux/patches/3.15-rc3/linux-056-add_Adaptec_eHome_Infrared_Receiver.patch diff --git a/packages/linux/patches/3.15-rc2/linux-057-Removed-MCE-customer-code-restriction-in-rc6-decode.patch b/packages/linux/patches/3.15-rc3/linux-057-Removed-MCE-customer-code-restriction-in-rc6-decode.patch similarity index 100% rename from packages/linux/patches/3.15-rc2/linux-057-Removed-MCE-customer-code-restriction-in-rc6-decode.patch rename to packages/linux/patches/3.15-rc3/linux-057-Removed-MCE-customer-code-restriction-in-rc6-decode.patch diff --git a/packages/linux/patches/3.15-rc2/linux-057-add_SMK_Manufacturing_Inc_Infrared_Receiver.patch b/packages/linux/patches/3.15-rc3/linux-057-add_SMK_Manufacturing_Inc_Infrared_Receiver.patch similarity index 100% rename from packages/linux/patches/3.15-rc2/linux-057-add_SMK_Manufacturing_Inc_Infrared_Receiver.patch rename to packages/linux/patches/3.15-rc3/linux-057-add_SMK_Manufacturing_Inc_Infrared_Receiver.patch diff --git a/packages/linux/patches/3.15-rc2/linux-058.05-hid_sony-add_autorepeat_for_PS3_remotes.patch b/packages/linux/patches/3.15-rc3/linux-058.05-hid_sony-add_autorepeat_for_PS3_remotes.patch similarity index 100% rename from packages/linux/patches/3.15-rc2/linux-058.05-hid_sony-add_autorepeat_for_PS3_remotes.patch rename to packages/linux/patches/3.15-rc3/linux-058.05-hid_sony-add_autorepeat_for_PS3_remotes.patch diff --git a/packages/linux/patches/3.15-rc2/linux-058.06-hid_sony-add_SMK_link.patch b/packages/linux/patches/3.15-rc3/linux-058.06-hid_sony-add_SMK_link.patch similarity index 100% rename from packages/linux/patches/3.15-rc2/linux-058.06-hid_sony-add_SMK_link.patch rename to packages/linux/patches/3.15-rc3/linux-058.06-hid_sony-add_SMK_link.patch diff --git a/packages/linux/patches/3.15-rc2/linux-059-remove_some_xpad_pids-0.2.patch b/packages/linux/patches/3.15-rc3/linux-059-remove_some_xpad_pids-0.2.patch similarity index 100% rename from packages/linux/patches/3.15-rc2/linux-059-remove_some_xpad_pids-0.2.patch rename to packages/linux/patches/3.15-rc3/linux-059-remove_some_xpad_pids-0.2.patch diff --git a/packages/linux/patches/3.15-rc2/linux-060-add_AUGUST_DVB-T205.patch b/packages/linux/patches/3.15-rc3/linux-060-add_AUGUST_DVB-T205.patch similarity index 100% rename from packages/linux/patches/3.15-rc2/linux-060-add_AUGUST_DVB-T205.patch rename to packages/linux/patches/3.15-rc3/linux-060-add_AUGUST_DVB-T205.patch diff --git a/packages/linux/patches/3.15-rc2/linux-203-stb0899_enable_low_symbol_rate.patch b/packages/linux/patches/3.15-rc3/linux-203-stb0899_enable_low_symbol_rate.patch similarity index 100% rename from packages/linux/patches/3.15-rc2/linux-203-stb0899_enable_low_symbol_rate.patch rename to packages/linux/patches/3.15-rc3/linux-203-stb0899_enable_low_symbol_rate.patch diff --git a/packages/linux/patches/3.15-rc2/linux-210-dvbsky.patch b/packages/linux/patches/3.15-rc3/linux-210-dvbsky.patch similarity index 100% rename from packages/linux/patches/3.15-rc2/linux-210-dvbsky.patch rename to packages/linux/patches/3.15-rc3/linux-210-dvbsky.patch diff --git a/packages/linux/patches/3.15-rc2/linux-212-mantis_stb0899_faster_lock.patch b/packages/linux/patches/3.15-rc3/linux-212-mantis_stb0899_faster_lock.patch similarity index 100% rename from packages/linux/patches/3.15-rc2/linux-212-mantis_stb0899_faster_lock.patch rename to packages/linux/patches/3.15-rc3/linux-212-mantis_stb0899_faster_lock.patch diff --git a/packages/linux/patches/3.15-rc2/linux-221-ngene-octopus.patch b/packages/linux/patches/3.15-rc3/linux-221-ngene-octopus.patch similarity index 100% rename from packages/linux/patches/3.15-rc2/linux-221-ngene-octopus.patch rename to packages/linux/patches/3.15-rc3/linux-221-ngene-octopus.patch diff --git a/packages/linux/patches/3.15-rc2/linux-222-stb0899_signal_quality.patch b/packages/linux/patches/3.15-rc3/linux-222-stb0899_signal_quality.patch similarity index 100% rename from packages/linux/patches/3.15-rc2/linux-222-stb0899_signal_quality.patch rename to packages/linux/patches/3.15-rc3/linux-222-stb0899_signal_quality.patch diff --git a/packages/linux/patches/3.15-rc2/linux-223-Fix-video-artifacts-with-tt-3600-s2-usb.patch b/packages/linux/patches/3.15-rc3/linux-223-Fix-video-artifacts-with-tt-3600-s2-usb.patch similarity index 100% rename from packages/linux/patches/3.15-rc2/linux-223-Fix-video-artifacts-with-tt-3600-s2-usb.patch rename to packages/linux/patches/3.15-rc3/linux-223-Fix-video-artifacts-with-tt-3600-s2-usb.patch diff --git a/packages/linux/patches/3.15-rc2/linux-701-linksys_aes2500_brcmfmac.patch b/packages/linux/patches/3.15-rc3/linux-701-linksys_aes2500_brcmfmac.patch similarity index 100% rename from packages/linux/patches/3.15-rc2/linux-701-linksys_aes2500_brcmfmac.patch rename to packages/linux/patches/3.15-rc3/linux-701-linksys_aes2500_brcmfmac.patch diff --git a/packages/linux/patches/3.15-rc2/linux-703-macmini2012-ethernet.patch b/packages/linux/patches/3.15-rc3/linux-703-macmini2012-ethernet.patch similarity index 100% rename from packages/linux/patches/3.15-rc2/linux-703-macmini2012-ethernet.patch rename to packages/linux/patches/3.15-rc3/linux-703-macmini2012-ethernet.patch diff --git a/packages/linux/patches/3.15-rc2/linux-704-Support-for-Ubiquiti-WifiStation.patch b/packages/linux/patches/3.15-rc3/linux-704-Support-for-Ubiquiti-WifiStation.patch similarity index 100% rename from packages/linux/patches/3.15-rc2/linux-704-Support-for-Ubiquiti-WifiStation.patch rename to packages/linux/patches/3.15-rc3/linux-704-Support-for-Ubiquiti-WifiStation.patch diff --git a/packages/linux/patches/3.15-rc2/linux-705-Support-for-Buffalo-WLI-UC-G300HP-V1.patch b/packages/linux/patches/3.15-rc3/linux-705-Support-for-Buffalo-WLI-UC-G300HP-V1.patch similarity index 100% rename from packages/linux/patches/3.15-rc2/linux-705-Support-for-Buffalo-WLI-UC-G300HP-V1.patch rename to packages/linux/patches/3.15-rc3/linux-705-Support-for-Buffalo-WLI-UC-G300HP-V1.patch diff --git a/packages/linux/patches/3.15-rc2/linux-706-Sitecom-N300.patch b/packages/linux/patches/3.15-rc3/linux-706-Sitecom-N300.patch similarity index 100% rename from packages/linux/patches/3.15-rc2/linux-706-Sitecom-N300.patch rename to packages/linux/patches/3.15-rc3/linux-706-Sitecom-N300.patch diff --git a/packages/linux/patches/3.15-rc2/linux-900-hide_tsc_error.patch b/packages/linux/patches/3.15-rc3/linux-900-hide_tsc_error.patch similarity index 100% rename from packages/linux/patches/3.15-rc2/linux-900-hide_tsc_error.patch rename to packages/linux/patches/3.15-rc3/linux-900-hide_tsc_error.patch diff --git a/packages/linux/patches/3.15-rc2/linux-950-saa716x_PCIe_interface_chipset.patch b/packages/linux/patches/3.15-rc3/linux-950-saa716x_PCIe_interface_chipset.patch similarity index 100% rename from packages/linux/patches/3.15-rc2/linux-950-saa716x_PCIe_interface_chipset.patch rename to packages/linux/patches/3.15-rc3/linux-950-saa716x_PCIe_interface_chipset.patch diff --git a/packages/linux/patches/3.15-rc2/linux-990.06-hda-Avoid-outputting-HDMI-audio-before-prepare-.patch b/packages/linux/patches/3.15-rc3/linux-990.06-hda-Avoid-outputting-HDMI-audio-before-prepare-.patch similarity index 100% rename from packages/linux/patches/3.15-rc2/linux-990.06-hda-Avoid-outputting-HDMI-audio-before-prepare-.patch rename to packages/linux/patches/3.15-rc3/linux-990.06-hda-Avoid-outputting-HDMI-audio-before-prepare-.patch diff --git a/packages/linux/patches/3.15-rc2/linux-991.01-ptrace_fix.patch b/packages/linux/patches/3.15-rc3/linux-991.01-ptrace_fix.patch similarity index 100% rename from packages/linux/patches/3.15-rc2/linux-991.01-ptrace_fix.patch rename to packages/linux/patches/3.15-rc3/linux-991.01-ptrace_fix.patch diff --git a/packages/linux/patches/3.15-rc2/linux-995-CX24120-13Z_frontend.patch b/packages/linux/patches/3.15-rc3/linux-995-CX24120-13Z_frontend.patch similarity index 100% rename from packages/linux/patches/3.15-rc2/linux-995-CX24120-13Z_frontend.patch rename to packages/linux/patches/3.15-rc3/linux-995-CX24120-13Z_frontend.patch diff --git a/packages/linux/patches/3.15-rc2/linux-999.02-0001-pm-disable-async-suspend-resume-by-default.patch b/packages/linux/patches/3.15-rc3/linux-999.02-0001-pm-disable-async-suspend-resume-by-default.patch similarity index 100% rename from packages/linux/patches/3.15-rc2/linux-999.02-0001-pm-disable-async-suspend-resume-by-default.patch rename to packages/linux/patches/3.15-rc3/linux-999.02-0001-pm-disable-async-suspend-resume-by-default.patch diff --git a/packages/linux/patches/3.15-rc2/linux-999.03-drm-radeon-PLL-fixes.patch b/packages/linux/patches/3.15-rc3/linux-999.03-drm-radeon-PLL-fixes.patch similarity index 69% rename from packages/linux/patches/3.15-rc2/linux-999.03-drm-radeon-PLL-fixes.patch rename to packages/linux/patches/3.15-rc3/linux-999.03-drm-radeon-PLL-fixes.patch index f3573213e6..631258d8f3 100644 --- a/packages/linux/patches/3.15-rc2/linux-999.03-drm-radeon-PLL-fixes.patch +++ b/packages/linux/patches/3.15-rc3/linux-999.03-drm-radeon-PLL-fixes.patch @@ -32,197 +32,6 @@ index 4e83ffd..35129ad 100644 -- 1.9.1 -From 537669e14063df59dd0b1004382842e278e19aa2 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Christian=20K=C3=B6nig?= -Date: Sat, 19 Apr 2014 18:57:14 +0200 -Subject: [PATCH 4/6] drm/radeon: use fixed PPL ref divider if needed -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Christian König ---- - drivers/gpu/drm/radeon/radeon_display.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/drivers/gpu/drm/radeon/radeon_display.c b/drivers/gpu/drm/radeon/radeon_display.c -index 00f63d28..0c26b3c 100644 ---- a/drivers/gpu/drm/radeon/radeon_display.c -+++ b/drivers/gpu/drm/radeon/radeon_display.c -@@ -880,7 +880,12 @@ void radeon_compute_pll_avivo(struct radeon_pll *pll, - ref_div_min = pll->reference_div; - else - ref_div_min = pll->min_ref_div; -- ref_div_max = pll->max_ref_div; -+ -+ if (pll->flags & RADEON_PLL_USE_FRAC_FB_DIV && -+ pll->flags & RADEON_PLL_USE_REF_DIV) -+ ref_div_max = pll->reference_div; -+ else -+ ref_div_max = pll->max_ref_div; - - /* determine allowed post divider range */ - if (pll->flags & RADEON_PLL_USE_POST_DIV) { --- -1.9.1 - -From 09535920958a819e90f0178e9d6831dba0577aa0 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Christian=20K=C3=B6nig?= -Date: Sun, 20 Apr 2014 13:24:32 +0200 -Subject: [PATCH 5/6] drm/radeon: improve PLL limit handling in post div - calculation -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This improves the PLL parameters when we work at -the limits of the allowed ranges. - -Signed-off-by: Christian König ---- - drivers/gpu/drm/radeon/radeon_display.c | 77 ++++++++++++++++++++++----------- - 1 file changed, 51 insertions(+), 26 deletions(-) - -diff --git a/drivers/gpu/drm/radeon/radeon_display.c b/drivers/gpu/drm/radeon/radeon_display.c -index 0c26b3c..12a01e9 100644 ---- a/drivers/gpu/drm/radeon/radeon_display.c -+++ b/drivers/gpu/drm/radeon/radeon_display.c -@@ -840,6 +840,38 @@ static void avivo_reduce_ratio(unsigned *nom, unsigned *den, - } - - /** -+ * avivo_get_fb_ref_div - feedback and ref divider calculation -+ * -+ * @nom: nominator -+ * @den: denominator -+ * @post_div: post divider -+ * @fb_div_max: feedback divider maximum -+ * @ref_div_max: reference divider maximum -+ * @fb_div: resulting feedback divider -+ * @ref_div: resulting reference divider -+ * -+ * Calculate feedback and reference divider for a given post divider. Makes -+ * sure we stay within the limits. -+ */ -+static void avivo_get_fb_ref_div(unsigned nom, unsigned den, unsigned post_div, -+ unsigned fb_div_max, unsigned ref_div_max, -+ unsigned *fb_div, unsigned *ref_div) -+{ -+ /* limit reference * post divider to a maximum */ -+ ref_div_max = min(210 / post_div, ref_div_max); -+ -+ /* get matching reference and feedback divider */ -+ *ref_div = min(max(DIV_ROUND_CLOSEST(den, post_div), 1u), ref_div_max); -+ *fb_div = DIV_ROUND_CLOSEST(nom * *ref_div * post_div, den); -+ -+ /* limit fb divider to its maximum */ -+ if (*fb_div > fb_div_max) { -+ *ref_div = DIV_ROUND_CLOSEST(*ref_div * fb_div_max, *fb_div); -+ *fb_div = fb_div_max; -+ } -+} -+ -+/** - * radeon_compute_pll_avivo - compute PLL paramaters - * - * @pll: information about the PLL -@@ -860,6 +892,9 @@ void radeon_compute_pll_avivo(struct radeon_pll *pll, - u32 *ref_div_p, - u32 *post_div_p) - { -+ unsigned target_clock = pll->flags & RADEON_PLL_USE_FRAC_FB_DIV ? -+ freq : freq / 10; -+ - unsigned fb_div_min, fb_div_max, fb_div; - unsigned post_div_min, post_div_max, post_div; - unsigned ref_div_min, ref_div_max, ref_div; -@@ -892,7 +927,6 @@ void radeon_compute_pll_avivo(struct radeon_pll *pll, - post_div_min = pll->post_div; - post_div_max = pll->post_div; - } else { -- unsigned target_clock = freq / 10; - unsigned vco_min, vco_max; - - if (pll->flags & RADEON_PLL_IS_LCD) { -@@ -903,6 +937,11 @@ void radeon_compute_pll_avivo(struct radeon_pll *pll, - vco_max = pll->pll_out_max; - } - -+ if (pll->flags & RADEON_PLL_USE_FRAC_FB_DIV) { -+ vco_min *= 10; -+ vco_max *= 10; -+ } -+ - post_div_min = vco_min / target_clock; - if ((target_clock * post_div_min) < vco_min) - ++post_div_min; -@@ -917,7 +956,7 @@ void radeon_compute_pll_avivo(struct radeon_pll *pll, - } - - /* represent the searched ratio as fractional number */ -- nom = pll->flags & RADEON_PLL_USE_FRAC_FB_DIV ? freq : freq / 10; -+ nom = target_clock; - den = pll->reference_freq; - - /* reduce the numbers to a simpler ratio */ -@@ -931,7 +970,12 @@ void radeon_compute_pll_avivo(struct radeon_pll *pll, - diff_best = ~0; - - for (post_div = post_div_min; post_div <= post_div_max; ++post_div) { -- unsigned diff = abs(den - den / post_div * post_div); -+ unsigned diff; -+ avivo_get_fb_ref_div(nom, den, post_div, fb_div_max, -+ ref_div_max, &fb_div, &ref_div); -+ diff = abs(target_clock - (pll->reference_freq * fb_div) / -+ (ref_div * post_div)); -+ - if (diff < diff_best || (diff == diff_best && - !(pll->flags & RADEON_PLL_PREFER_MINM_OVER_MAXP))) { - -@@ -941,28 +985,9 @@ void radeon_compute_pll_avivo(struct radeon_pll *pll, - } - post_div = post_div_best; - -- /* limit reference * post divider to a maximum */ -- ref_div_max = min(210 / post_div, ref_div_max); -- -- /* get matching reference and feedback divider */ -- ref_div = max(DIV_ROUND_CLOSEST(den, post_div), 1u); -- fb_div = DIV_ROUND_CLOSEST(nom * ref_div * post_div, den); -- -- /* we're almost done, but reference and feedback -- divider might be to large now */ -- -- nom = fb_div; -- den = ref_div; -- -- if (fb_div > fb_div_max) { -- ref_div = DIV_ROUND_CLOSEST(den * fb_div_max, nom); -- fb_div = fb_div_max; -- } -- -- if (ref_div > ref_div_max) { -- ref_div = ref_div_max; -- fb_div = DIV_ROUND_CLOSEST(nom * ref_div_max, den); -- } -+ /* get the feedback and reference divider for the optimal value */ -+ avivo_get_fb_ref_div(nom, den, post_div, fb_div_max, ref_div_max, -+ &fb_div, &ref_div); - - /* reduce the numbers to a simpler ratio once more */ - /* this also makes sure that the reference divider is large enough */ -@@ -984,7 +1009,7 @@ void radeon_compute_pll_avivo(struct radeon_pll *pll, - *post_div_p = post_div; - - DRM_DEBUG_KMS("%d - %d, pll dividers - fb: %d.%d ref: %d, post %d\n", -- freq, *dot_clock_p, *fb_div_p, *frac_fb_div_p, -+ freq, *dot_clock_p * 10, *fb_div_p, *frac_fb_div_p, - ref_div, post_div); - } - --- -1.9.1 - From 6e26c28955078c20a78a41e03911d67b5f85bd55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20K=C3=B6nig?= Date: Wed, 23 Apr 2014 20:46:06 +0200 From 7bed9cfccc10b00609b3045a047170f9378f3efa Mon Sep 17 00:00:00 2001 From: Stefan Saraev Date: Tue, 29 Apr 2014 14:01:11 +0300 Subject: [PATCH 2/2] linux (3.15): mceusb xhci fix source: https://patchwork.linuxtv.org/patch/23780/ fixed minor if (( => if ( typos fixed mce_dbg => dev_dbg --- .../linux-999.03-0001-fix-mceusb.patch | 112 ++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 packages/linux/patches/3.15-rc3/linux-999.03-0001-fix-mceusb.patch diff --git a/packages/linux/patches/3.15-rc3/linux-999.03-0001-fix-mceusb.patch b/packages/linux/patches/3.15-rc3/linux-999.03-0001-fix-mceusb.patch new file mode 100644 index 0000000000..000468c453 --- /dev/null +++ b/packages/linux/patches/3.15-rc3/linux-999.03-0001-fix-mceusb.patch @@ -0,0 +1,112 @@ +From: Matt DeVillier + +Change the I/O endpoint handling of the mceusb driver to respect the endpoint +type reported by device (bulk/interrupt), rather than treating all endpoints +as type interrupt, which breaks devices using bulk endpoints when connected +to a xhci controller. Accordingly, change the function calls to initialize +an endpoint's transfer pipe and urb handlers to use the correct function based +on the endpoint type. + +Signed-off-by: Matt DeVillier +Tested-by: Sean Young +- +This is a continuation of the work started in patch #21648 +Patch compiled and tested against linux-media git master. Backported and tested +against 3.14.1 stable as well. +v3 corrects formatting issues which prevented the patch from being applied +with 'git am,' and replaces a few complex conditionals with inline functions +for improved clarity. +--- + +diff --git a/drivers/media/rc/mceusb.c b/drivers/media/rc/mceusb.c +index 5d8f3d4..74721cc 100644 +--- a/drivers/media/rc/mceusb.c ++++ b/drivers/media/rc/mceusb.c +@@ -747,11 +747,19 @@ static void mce_request_packet(struct mceusb_dev *ir, unsigned char *data, + } + + /* outbound data */ +- pipe = usb_sndintpipe(ir->usbdev, +- ir->usb_ep_out->bEndpointAddress); +- usb_fill_int_urb(async_urb, ir->usbdev, pipe, +- async_buf, size, mce_async_callback, +- ir, ir->usb_ep_out->bInterval); ++ if (usb_endpoint_xfer_int(ir->usb_ep_out)) { ++ pipe = usb_sndintpipe(ir->usbdev, ++ ir->usb_ep_out->bEndpointAddress); ++ usb_fill_int_urb(async_urb, ir->usbdev, pipe, async_buf, ++ size, mce_async_callback, ir, ++ ir->usb_ep_out->bInterval); ++ } else { ++ pipe = usb_sndbulkpipe(ir->usbdev, ++ ir->usb_ep_out->bEndpointAddress); ++ usb_fill_bulk_urb(async_urb, ir->usbdev, pipe, ++ async_buf, size, mce_async_callback, ++ ir); ++ } + memcpy(async_buf, data, size); + + } else if (urb_type == MCEUSB_RX) { +@@ -1269,32 +1277,26 @@ static int mceusb_dev_probe(struct usb_interface *intf, + for (i = 0; i < idesc->desc.bNumEndpoints; ++i) { + ep = &idesc->endpoint[i].desc; + +- if ((ep_in == NULL) +- && ((ep->bEndpointAddress & USB_ENDPOINT_DIR_MASK) +- == USB_DIR_IN) +- && (((ep->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) +- == USB_ENDPOINT_XFER_BULK) +- || ((ep->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) +- == USB_ENDPOINT_XFER_INT))) { +- +- ep_in = ep; +- ep_in->bmAttributes = USB_ENDPOINT_XFER_INT; +- ep_in->bInterval = 1; +- dev_dbg(&intf->dev, "acceptable inbound endpoint found"); ++ if (ep_in == NULL) { ++ if (usb_endpoint_is_bulk_in(ep)) { ++ ep_in = ep; ++ dev_dbg(&intf->dev, "acceptable bulk inbound endpoint found\n"); ++ } else if (usb_endpoint_is_int_in(ep)) { ++ ep_in = ep; ++ ep_in->bInterval = 1; ++ dev_dbg(&intf->dev, "acceptable interrupt inbound endpoint found\n"); ++ } + } + +- if ((ep_out == NULL) +- && ((ep->bEndpointAddress & USB_ENDPOINT_DIR_MASK) +- == USB_DIR_OUT) +- && (((ep->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) +- == USB_ENDPOINT_XFER_BULK) +- || ((ep->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) +- == USB_ENDPOINT_XFER_INT))) { +- +- ep_out = ep; +- ep_out->bmAttributes = USB_ENDPOINT_XFER_INT; +- ep_out->bInterval = 1; +- dev_dbg(&intf->dev, "acceptable outbound endpoint found"); ++ if (ep_out == NULL) { ++ if (usb_endpoint_is_bulk_out(ep)) { ++ ep_out = ep; ++ dev_dbg(&intf->dev, "acceptable bulk outbound endpoint found\n"); ++ } else if (usb_endpoint_is_int_out(ep)) { ++ ep_out = ep; ++ ep_out->bInterval = 1; ++ dev_dbg(&intf->dev, "acceptable interrupt outbound endpoint found\n"); ++ } + } + } + if (ep_in == NULL) { +@@ -1302,7 +1304,10 @@ static int mceusb_dev_probe(struct usb_interface *intf, + return -ENODEV; + } + +- pipe = usb_rcvintpipe(dev, ep_in->bEndpointAddress); ++ if (usb_endpoint_xfer_int(ep_in)) ++ pipe = usb_rcvintpipe(dev, ep_in->bEndpointAddress); ++ else ++ pipe = usb_rcvbulkpipe(dev, ep_in->bEndpointAddress); + maxp = usb_maxpacket(dev, pipe, usb_pipeout(pipe)); + + ir = kzalloc(sizeof(struct mceusb_dev), GFP_KERNEL);