[PATCH v7 5/7] clk: Change clk_ops-determine_rate to return a clk_hw as the best parent

2014-12-02 Thread Tomeu Vizoso
This is in preparation for clock providers to not have to deal with struct clk.

Signed-off-by: Tomeu Vizoso tomeu.viz...@collabora.com
Reviewed-by: Stephen Boyd sb...@codeaurora.org

---
v7: * Update a few more instances in new code

v4: * Make sure that best_parent_p is populated with the current parent
  before calling clk_ops.determine_rate()

v3: * Rebase on top of linux-next 20141009
* Update Documentation/clk.txt
---
 Documentation/clk.txt   |  2 +-
 arch/arm/mach-omap2/dpll3xxx.c  |  6 +++---
 arch/arm/mach-omap2/dpll44xx.c  |  6 +++---
 arch/mips/alchemy/common/clock.c| 10 +-
 drivers/clk/at91/clk-programmable.c |  4 ++--
 drivers/clk/bcm/clk-kona.c  |  4 ++--
 drivers/clk/clk-composite.c |  9 +
 drivers/clk/clk.c   | 17 +++--
 drivers/clk/hisilicon/clk-hi3620.c  |  2 +-
 drivers/clk/mmp/clk-mix.c   |  4 ++--
 drivers/clk/qcom/clk-pll.c  |  2 +-
 drivers/clk/qcom/clk-rcg.c  | 20 
 drivers/clk/qcom/clk-rcg2.c | 28 +---
 drivers/clk/sunxi/clk-factors.c |  4 ++--
 drivers/clk/sunxi/clk-sun6i-ar100.c |  4 ++--
 include/linux/clk-provider.h|  4 ++--
 include/linux/clk/ti.h  |  4 ++--
 17 files changed, 73 insertions(+), 57 deletions(-)

diff --git a/Documentation/clk.txt b/Documentation/clk.txt
index 1fee72f..4ff8462 100644
--- a/Documentation/clk.txt
+++ b/Documentation/clk.txt
@@ -74,7 +74,7 @@ the operations defined in clk.h:
long(*determine_rate)(struct clk_hw *hw,
unsigned long rate,
unsigned long *best_parent_rate,
-   struct clk **best_parent_clk);
+   struct clk_hw 
**best_parent_clk);
int (*set_parent)(struct clk_hw *hw, u8 index);
u8  (*get_parent)(struct clk_hw *hw);
int (*set_rate)(struct clk_hw *hw,
diff --git a/arch/arm/mach-omap2/dpll3xxx.c b/arch/arm/mach-omap2/dpll3xxx.c
index 20e120d..c2da2a0 100644
--- a/arch/arm/mach-omap2/dpll3xxx.c
+++ b/arch/arm/mach-omap2/dpll3xxx.c
@@ -474,7 +474,7 @@ void omap3_noncore_dpll_disable(struct clk_hw *hw)
  */
 long omap3_noncore_dpll_determine_rate(struct clk_hw *hw, unsigned long rate,
   unsigned long *best_parent_rate,
-  struct clk **best_parent_clk)
+  struct clk_hw **best_parent_clk)
 {
struct clk_hw_omap *clk = to_clk_hw_omap(hw);
struct dpll_data *dd;
@@ -488,10 +488,10 @@ long omap3_noncore_dpll_determine_rate(struct clk_hw *hw, 
unsigned long rate,
 
if (__clk_get_rate(dd-clk_bypass) == rate 
(dd-modes  (1  DPLL_LOW_POWER_BYPASS))) {
-   *best_parent_clk = dd-clk_bypass;
+   *best_parent_clk = __clk_get_hw(dd-clk_bypass);
} else {
rate = omap2_dpll_round_rate(hw, rate, best_parent_rate);
-   *best_parent_clk = dd-clk_ref;
+   *best_parent_clk = __clk_get_hw(dd-clk_ref);
}
 
*best_parent_rate = rate;
diff --git a/arch/arm/mach-omap2/dpll44xx.c b/arch/arm/mach-omap2/dpll44xx.c
index 535822f..0e58e5a 100644
--- a/arch/arm/mach-omap2/dpll44xx.c
+++ b/arch/arm/mach-omap2/dpll44xx.c
@@ -223,7 +223,7 @@ out:
  */
 long omap4_dpll_regm4xen_determine_rate(struct clk_hw *hw, unsigned long rate,
unsigned long *best_parent_rate,
-   struct clk **best_parent_clk)
+   struct clk_hw **best_parent_clk)
 {
struct clk_hw_omap *clk = to_clk_hw_omap(hw);
struct dpll_data *dd;
@@ -237,11 +237,11 @@ long omap4_dpll_regm4xen_determine_rate(struct clk_hw 
*hw, unsigned long rate,
 
if (__clk_get_rate(dd-clk_bypass) == rate 
(dd-modes  (1  DPLL_LOW_POWER_BYPASS))) {
-   *best_parent_clk = dd-clk_bypass;
+   *best_parent_clk = __clk_get_hw(dd-clk_bypass);
} else {
rate = omap4_dpll_regm4xen_round_rate(hw, rate,
  best_parent_rate);
-   *best_parent_clk = dd-clk_ref;
+   *best_parent_clk = __clk_get_hw(dd-clk_ref);
}
 
*best_parent_rate = rate;
diff --git a/arch/mips/alchemy/common/clock.c b/arch/mips/alchemy/common/clock.c
index 203e440..48a9dfc 100644
--- a/arch/mips/alchemy/common/clock.c
+++ b/arch/mips/alchemy/common/clock.c
@@ -374,7 +374,7 @@ static long alchemy_calc_div(unsigned long rate, unsigned 
long prate,
 
 static long alchemy_clk_fgcs_detr(struct clk_hw *hw, unsigned long rate,
unsigned long 

[PATCH v7 7/7] clk: Add floor and ceiling constraints to clock rates

2014-12-02 Thread Tomeu Vizoso
Adds a way for clock consumers to set maximum and minimum rates. This can be
used for thermal drivers to set ceiling rates, or by misc. drivers to set
floor rates to assure a minimum performance level.

Signed-off-by: Tomeu Vizoso tomeu.viz...@collabora.com

---
v7: * Update a few more instances in new code

v6: * Take the prepare lock before removing a per-user clk
* Init per-user clks list before adding the first clk
* Pass the constraints to determine_rate and let clk
  implementations deal with constraints
* Add clk_set_rate_range

v5: * Initialize clk.ceiling_constraint to ULONG_MAX
* Warn about inconsistent constraints

v4: * Copy function docs from header
* Move WARN out of critical section
* Refresh rate after removing a per-user clk
* Rename clk_core.per_user_clks to clk_core.clks
* Store requested rate and re-apply it when constraints are updated
---
 Documentation/clk.txt   |   2 +
 arch/arm/mach-omap2/dpll3xxx.c  |   2 +
 arch/arm/mach-omap2/dpll44xx.c  |   2 +
 arch/mips/alchemy/common/clock.c|   8 ++
 drivers/clk/at91/clk-programmable.c |   2 +
 drivers/clk/bcm/clk-kona.c  |   2 +
 drivers/clk/clk-composite.c |   9 +-
 drivers/clk/clk.c   | 160 +---
 drivers/clk/hisilicon/clk-hi3620.c  |   2 +
 drivers/clk/mmp/clk-mix.c   |   2 +
 drivers/clk/qcom/clk-pll.c  |   1 +
 drivers/clk/qcom/clk-rcg.c  |  10 ++-
 drivers/clk/qcom/clk-rcg2.c |   6 ++
 drivers/clk/sunxi/clk-factors.c |   2 +
 drivers/clk/sunxi/clk-sun6i-ar100.c |   2 +
 include/linux/clk-private.h |   6 ++
 include/linux/clk-provider.h|  11 ++-
 include/linux/clk.h |  28 +++
 include/linux/clk/ti.h  |   4 +
 19 files changed, 224 insertions(+), 37 deletions(-)

diff --git a/Documentation/clk.txt b/Documentation/clk.txt
index 4ff8462..8ebd665 100644
--- a/Documentation/clk.txt
+++ b/Documentation/clk.txt
@@ -73,6 +73,8 @@ the operations defined in clk.h:
unsigned long *parent_rate);
long(*determine_rate)(struct clk_hw *hw,
unsigned long rate,
+   unsigned long floor_rate,
+   unsigned long ceiling_rate,
unsigned long *best_parent_rate,
struct clk_hw 
**best_parent_clk);
int (*set_parent)(struct clk_hw *hw, u8 index);
diff --git a/arch/arm/mach-omap2/dpll3xxx.c b/arch/arm/mach-omap2/dpll3xxx.c
index c2da2a0..b25375c 100644
--- a/arch/arm/mach-omap2/dpll3xxx.c
+++ b/arch/arm/mach-omap2/dpll3xxx.c
@@ -473,6 +473,8 @@ void omap3_noncore_dpll_disable(struct clk_hw *hw)
  * in failure.
  */
 long omap3_noncore_dpll_determine_rate(struct clk_hw *hw, unsigned long rate,
+  unsigned long floor_rate,
+  unsigned long ceiling_rate,
   unsigned long *best_parent_rate,
   struct clk_hw **best_parent_clk)
 {
diff --git a/arch/arm/mach-omap2/dpll44xx.c b/arch/arm/mach-omap2/dpll44xx.c
index 0e58e5a..579fa18 100644
--- a/arch/arm/mach-omap2/dpll44xx.c
+++ b/arch/arm/mach-omap2/dpll44xx.c
@@ -222,6 +222,8 @@ out:
  * in failure.
  */
 long omap4_dpll_regm4xen_determine_rate(struct clk_hw *hw, unsigned long rate,
+   unsigned long floor_rate,
+   unsigned long ceiling_rate,
unsigned long *best_parent_rate,
struct clk_hw **best_parent_clk)
 {
diff --git a/arch/mips/alchemy/common/clock.c b/arch/mips/alchemy/common/clock.c
index 48a9dfc..731bedd 100644
--- a/arch/mips/alchemy/common/clock.c
+++ b/arch/mips/alchemy/common/clock.c
@@ -373,6 +373,8 @@ static long alchemy_calc_div(unsigned long rate, unsigned 
long prate,
 }
 
 static long alchemy_clk_fgcs_detr(struct clk_hw *hw, unsigned long rate,
+   unsigned long floor_rate,
+   unsigned long ceiling_rate,
unsigned long *best_parent_rate,
struct clk_hw **best_parent_clk,
int scale, int maxdiv)
@@ -546,6 +548,8 @@ static unsigned long alchemy_clk_fgv1_recalc(struct clk_hw 
*hw,
 }
 
 static long alchemy_clk_fgv1_detr(struct clk_hw *hw, unsigned long rate,
+   unsigned long floor_rate,
+   unsigned long ceiling_rate,
unsigned long 

Re: [PATCH v7.1 00/19] Rework OMAP4+ HDMI audio support

2014-12-02 Thread Jyri Sarha

On 12/01/2014 09:31 PM, Mark Brown wrote:

On Mon, Dec 01, 2014 at 11:07:06AM +0200, Tomi Valkeinen wrote:

On 29/11/14 13:59, Mark Brown wrote:



Reviewed-by: Mark Brown broo...@kernel.org



Thanks. And just to be sure, that's ok, we can merge these in the next
merge window?


Yes.


but like I said in reply to the patch adding the new driver I think
we're going to want to generalize this a bit.



Yep, if I'm not mistaken I did suggest that to Jyri at some point. We
can continue working on that, but I'd rather not do anything big on that
front before there is some other SoC that has the same setup.


I really want to see people making an effort to make code shareable here
- I think one of the reasons nobody is upstreaming any of their code is
that there's nothing generic in place to handle generic tasks so people
just look at their code, think it's too much of a device specific hack
and think they'll get back to looking at it later.  If this is a
sensible set of callbacks to have to pass configuration around let's
make that discoverable without requiring people to look through the OMAP
drivers.



Ok, I'll make the API more generic after this merge window and maybe 
move omap-hdmi-audio under sound/soc/generic and rename it. These 
changes should still be merged under fbdev because of changes to the API 
header.


Cheers,
Jyri
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC 1/2] i2c: omap: fix buffer overruns during RX/TX data processing

2014-12-02 Thread Alexander Kochetkov

01 дек. 2014 г., в 22:58, Tony Lindgren t...@atomide.com написал(а):

 I think this is a different issue than what I'm seeing.

Hello, Tony!

Thank you for testing!

Could check i2c-omap.c from commit ca1f8da9ac5ce6e63d8f6933f83fabc1f3f961f4.
As all my changes comes after it[1]. So I can understand was the problem before 
my work.

I there was no problems, then try with my first commit:
27caca9d2e01c92b26d0690f065aad093fea01c7

The problems you talk about is this?
[9.675994] omap_i2c 48072000.i2c: controller timed out
[   10.704010] omap_i2c 48072000.i2c: controller timed out
[   11.734069] omap_i2c 48072000.i2c: controller timed out
root@omap2430sdp:/# [   12.823638] omap_i2c 48072000.i2c: controller timed out

And how it is possible to switch from ti,omap2430-i2c to ti,omap2420-i2c? They 
are so different IP, from
the driver point of view. They have different data bus width.

Alexander.

[1]
alexander@ubuntu:busses$ git log --pretty=oneline --reverse 
ca1f8da9ac5ce6e63d8f6933f83fabc1f3f961f4^..HEAD -- i2c-omap.c 
ca1f8da9ac5ce6e63d8f6933f83fabc1f3f961f4 i2c: remove FSF address
27caca9d2e01c92b26d0690f065aad093fea01c7 i2c: omap: fix NACK and Arbitration 
Lost irq handling
854a59425a0b9600ee974b113aae081c873163f6 i2c: omap: cleanup register definitions
903c3859f77f9b0aace551da03267ef7a211dbc4 i2c: omap: implement workaround for 
handling invalid BB-bit values
80cc361f14e8fa97119afa3324c2c913915e7252 i2c: omap: don't reset controller if 
Arbitration Lost detected
39370ab406933efdedb425910f0a36c16667c45f i2c: omap: add notes related to i2c 
multimaster mode
ccfc866356674cb3a61829d239c685af6e85f197 i2c: omap: fix i207 errata handling
7d168dc7ed384e50bb7bff4920b73550fd2e9fcb Merge branch 'i2c/for-3.19' into 
i2c/for-next
2f769d173f0e6a2e85d75fe396f18f794fc4a615 omap: i2c: don't check bus state IP 
rev3.3 and earlier
2b6f66d87b44aaf1f34f071e6f6430c3ccaa8812 i2c: omap: fix buffer overruns during 
RX/TX data processing
30c52545106785405856c7e7e40b683b79c8084a i2c: omap: show that the reason of 
system lockup is an unhandled ISR event


--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC 0/2] i2c: omap: new fixes for driver

2014-12-02 Thread Alexander Kochetkov

01 дек. 2014 г., в 23:04, Kevin Hilman khil...@kernel.org написал(а):

 Done.  Built v3.18-rc7 + these 2 patches using omap2plus_defconfig. Boot
 logs here for your amusement:

Hello, Kevin!

Thank you so much for doing tests.
What a pity you don't have omap2430sdp board in the tests.

Alexander.


--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


support Helpdesk

2014-12-02 Thread Md Ashfaque
Your email has exceeded the storage limit set. You will not be able to send or 
receive messages.
To activate, click on the link and complete the information required;
onlinewbupdate.jigsy.com
The account must be reactivated today to regenerate new space.
support Helpdesk
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] ARM: OMAP2+: AM43x: Add ID for ES1.2

2014-12-02 Thread Nishanth Menon
On 11/27/2014 09:32 PM, Lokesh Vutla wrote:
 ES1.2 is a minor variant of ES1.1. Major changes since ES1.1 are
 updating ROM for fixing the following boot modes:
 - NAND boot
 - UART boot
 - Ethernet boot
 - USB HOST/Client boot
 This patch adds ID support for AM437x ES1.2 silicon.
 There are no additional kernel fixes required for ES1.2 silicon.
 
 Latest Technical Documentation can be found here:
 http://www.ti.com/lsds/ti/arm/sitara_arm_cortex_a_processor/arm_cortex_a9_core/am437x_arm_cortex_a9/tech_docs.page
 
 Signed-off-by: Lokesh Vutla lokeshvu...@ti.com
 ---
  arch/arm/mach-omap2/id.c  | 8 ++--
  arch/arm/mach-omap2/soc.h | 1 +
  2 files changed, 7 insertions(+), 2 deletions(-)
 
 diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c
 index 53841de..c25feba 100644
 --- a/arch/arm/mach-omap2/id.c
 +++ b/arch/arm/mach-omap2/id.c
 @@ -471,11 +471,15 @@ void __init omap3xxx_check_revision(void)
   cpu_rev = 1.0;
   break;
   case 1:
 - /* FALLTHROUGH */
 - default:
   omap_revision = AM437X_REV_ES1_1;
   cpu_rev = 1.1;
   break;
 + case 2:
 + /* FALLTHROUGH */
 + default:
 + omap_revision = AM437X_REV_ES1_2;
 + cpu_rev = 1.2;
 + break;
   }
   break;
   case 0xb8f2:
 diff --git a/arch/arm/mach-omap2/soc.h b/arch/arm/mach-omap2/soc.h
 index 4376f59..c1a3b44 100644
 --- a/arch/arm/mach-omap2/soc.h
 +++ b/arch/arm/mach-omap2/soc.h
 @@ -446,6 +446,7 @@ IS_OMAP_TYPE(3430, 0x3430)
  #define AM437X_CLASS 0x4370
  #define AM437X_REV_ES1_0 (AM437X_CLASS | (0x10  8))
  #define AM437X_REV_ES1_1 (AM437X_CLASS | (0x11  8))
 +#define AM437X_REV_ES1_2 (AM437X_CLASS | (0x12  8))
  
  #define OMAP443X_CLASS   0x44300044
  #define OMAP4430_REV_ES1_0   (OMAP443X_CLASS | (0x10  8))
 

Reviewed-by: Nishanth Menon n...@ti.com

-- 
Regards,
Nishanth Menon
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


OMAP baseline test results for v3.18-rc7

2014-12-02 Thread Paul Walmsley

Here are some basic OMAP test results for Linux v3.18-rc7.
Logs and other details at:

http://www.pwsan.com/omap/testlogs/test_v3.18-rc7/20141201203859/


Test summary


Build: uImage:
Pass ( 3/ 3): omap1_defconfig, omap1_defconfig_1510innovator_only,
  omap1_defconfig_5912osk_only

Build: uImage+dtb:
Pass (13/13): omap2plus_defconfig_am33xx_only/am335x-bone,
  omap2plus_defconfig/omap4-panda,
  omap2plus_defconfig/omap4-panda-es,
  omap2plus_defconfig/omap4-var-som,
  omap2plus_defconfig/omap3-evm-37xx,
  omap2plus_defconfig_n800_only_a/omap2420-n800,
  omap2plus_defconfig/omap2430-sdp,
  omap2plus_defconfig/am3517-evm,
  omap2plus_defconfig/omap3-beagle,
  omap2plus_defconfig/omap3-beagle-xm,
  omap2plus_defconfig/omap3-sbc-t3517,
  omap2plus_defconfig/omap5-uevm,
  omap2plus_defconfig/omap5-sbc-t54

Build: zImage:
Pass (17/17): omap2plus_defconfig, omap2plus_defconfig_am33xx_only,
  omap2plus_defconfig_n800_only_a,
  omap2plus_defconfig_n800_multi_omap2xxx,
  omap2plus_defconfig_2430sdp_only,
  omap2plus_defconfig_cpupm, omap2plus_defconfig_no_pm,
  omap2plus_defconfig_omap2_4_only,
  omap2plus_defconfig_omap3_4_only,
  omap2plus_defconfig_omap5_only,
  omap2plus_defconfig_dra7xx_only,
  omap2plus_defconfig_am43xx_only,
  rmk_omap3430_ldp_oldconfig,
  rmk_omap3430_ldp_allnoconfig,
  rmk_omap4430_sdp_oldconfig,
  rmk_omap4430_sdp_allnoconfig, multi_v7_defconfig

Boot to userspace:
FAIL ( 1/16): 2430sdp
skip ( 2/16): 5912osk, 3517evm
Pass (13/16): am335xbonelt, am335xbone, 4430es2panda, 4460pandaes,
  4460varsomom, 37xxevm, 3530es3beagle, 3530es31beagle,
  3730beaglexm, 3730es12beaglexm, 5430es2uevm,
  5430es2sbct54, 2420n800

PM: chip retention via suspend:
FAIL ( 6/12): am335xbonelt, 4430es2panda, 4460varsomom, 2430sdp,
  5430es2uevm, 5430es2sbct54
Pass ( 6/12): 4460pandaes, 37xxevm, 3530es3beagle, 3530es31beagle,
  3730beaglexm, 3730es12beaglexm

PM: chip retention via dynamic idle:
FAIL ( 7/12): am335xbonelt, 4430es2panda, 4460pandaes,
  4460varsomom, 2430sdp, 5430es2uevm, 5430es2sbct54
Pass ( 5/12): 37xxevm, 3530es3beagle, 3530es31beagle, 3730beaglexm,
  3730es12beaglexm

PM: chip off (except CORE, due to errata) via suspend:
Pass ( 1/ 1): 3730beaglexm

PM: chip off (except CORE, due to errata) via dynamic idle:
Pass ( 1/ 1): 3730beaglexm

PM: chip off via suspend:
Pass ( 4/ 4): 37xxevm, 3530es3beagle, 3530es31beagle,
  3730es12beaglexm

PM: chip off via dynamic idle:
Pass ( 4/ 4): 37xxevm, 3530es3beagle, 3530es31beagle,
  3730es12beaglexm


vmlinux object size
(delta in bytes from test_v3.18-rc6 (5d01410fe4d92081f349b013a2e7a95429e4f2c9)):
   text data  bsstotal  kernel
   +100 +3360 +436  omap1_defconfig
   -956 +3360 -620  omap1_defconfig_1510innovator_only
   -892 +3280 -564  omap1_defconfig_5912osk_only
   -303 +4560 +153  multi_v7_defconfig
-59 +7440 +685  omap2plus_defconfig
   -863 +4880 -375  omap2plus_defconfig_2430sdp_only
  -4095 +7360-3359  omap2plus_defconfig_am33xx_only
 +5 +7440 +749  omap2plus_defconfig_am43xx_only
-59 +7760 +717  omap2plus_defconfig_cpupm
 +5 +7360 +741  omap2plus_defconfig_dra7xx_only
   -255 +4880 +233  omap2plus_defconfig_n800_multi_omap2xxx
   -287 +4560 +169  omap2plus_defconfig_n800_only_a
   +145 +7680 +913  omap2plus_defconfig_no_pm
 +5 +7760 +781  omap2plus_defconfig_omap2_4_only
 +1 +7440 +745  omap2plus_defconfig_omap3_4_only
-59 +7120 +653  omap2plus_defconfig_omap5_only
   -172 +264  +64 +156  rmk_omap3430_ldp_allnoconfig
+21 +4560 +477  rmk_omap3430_ldp_oldconfig
   -124 +292  +48 +216  rmk_omap4430_sdp_allnoconfig
  -4007 +6480-3359  rmk_omap4430_sdp_oldconfig

Boot-time memory difference
(delta in bytes from test_v3.18-rc6 (5d01410fe4d92081f349b013a2e7a95429e4f2c9))
  avail  rsrvd   high  freed  board  kconfig
-4k 4k  .  .  2430sdpomap2plus_defconfig
-4k 4k  .  .  3730beaglexm   omap2plus_defconfig
-4k 4k  .  .  3730es12beaglexmomap2plus_defconfig
 8k-8k  .-4k  am335xbone 

[PATCH v4 0/3] Fixes for SDIO interrupts for dw_mmc

2014-12-02 Thread Doug Anderson
Bing Zhao at Marvell found a problem with dw_mmc where interrupts
weren't firing sometimes.  He tracked it down to a read-modify-write
problem with the INTMASK.  These three patches fix the problem.

Note: I've picked up a  1-year old series here to make another
attempt at landing it upstream.  These patches have been in shipping
Chromebooks for the last year.  There are essentially no changes from
the last v3 other than a rebase.

The first patch extends the init_card() mechanism of MMC core to
actually be called for all card types, not just SDIO.  That could be
applied any time and should fix at least one longstanding bug
(untested).

The second patch is a cleanup patch to use init_card() to move things
around a bit so we don't need to handle SDIO cards in such a strange
place.  On earlier versions of this patch Seungwon brought up a few
points which I have _not_ addressed.  See
https://patchwork.kernel.org/patch/3049071/.  Other than talk of
cards with out of band interrupts maybe being able to gate their
clocks, he wanted to use MMC_QUIRK_BROKEN_CLK_GATING.  I didn't do
that because of the ordering of init_card() and when the quirks are
set.  Some users of init_card() like pandora_wl1251_init_card() rely
on it being called very early in the process.
pandora_wl1251_init_card() hardcodes a vendor and device and thus need
to be called super early.  On the other hand the code that adds quirks
_reads_ the vendor and device.  It can't possibly move before
init_card().  If folks are willing to take an additional host op of
init_card_late() I can certainly go that way, though.

The third patch is (I think) reviewed and ready to go assuming the
other two land.

Changes in v3:
- Add fixup to pandora_wl1251_init_card().

Changes in v2:
- mmc core change new for this version.
- Fixed | to .
- intmask_lock renamed to irq_lock

Doug Anderson (3):
  mmc: core: Support the optional init_card() callback for MMC and SD
  mmc: dw_mmc: Cleanup disable of low power mode w/ SDIO interrupts
  mmc: dw_mmc: Protect read-modify-write of INTMASK with a lock

 arch/arm/mach-omap2/board-omap3pandora.c | 14 +++---
 drivers/mmc/core/mmc.c   |  6 +++
 drivers/mmc/core/sd.c|  7 ++-
 drivers/mmc/host/dw_mmc.c| 80 +++-
 drivers/mmc/host/dw_mmc.h|  1 +
 include/linux/mmc/dw_mmc.h   |  6 +++
 6 files changed, 74 insertions(+), 40 deletions(-)

-- 
2.2.0.rc0.207.ga3a616c

--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v4 1/3] mmc: core: Support the optional init_card() callback for MMC and SD

2014-12-02 Thread Doug Anderson
In (3fcb027 ARM: MXC: mxcmmc: work around a bug in the SDHC busy line
handling) the optional init_card() callback was added.  According to
the original change it was for now only called from
mmc_sdio_init_card().

This callback really ought to be called from the SD and MMC init
functions as well.  One current user of this callback
(mxcmci_init_card) will not work as expected if you insert an SDIO
card, then eject it and put a normal SD card in.  Specifically the
normal SD card will not get to run with 4-bit data.

I'd like to use the init_card() callback to handle a similar quirk on
dw_mmc when using SDIO Interrupts (the low power feature of the card
needs to be disabled), so that will add a second user of the function.

As part of this change fixup the one place that relied on the callback
only happening for SDIO cards.

Signed-off-by: Doug Anderson diand...@chromium.org
Reviewed-by: Grant Grundler grund...@chromium.org
---
Changes in v3:
- Add fixup to pandora_wl1251_init_card().

Changes in v2:
- mmc core change new for this version.

 arch/arm/mach-omap2/board-omap3pandora.c | 14 --
 drivers/mmc/core/mmc.c   |  6 ++
 drivers/mmc/core/sd.c|  7 ++-
 3 files changed, 20 insertions(+), 7 deletions(-)

diff --git a/arch/arm/mach-omap2/board-omap3pandora.c 
b/arch/arm/mach-omap2/board-omap3pandora.c
index 7f17087..969e100 100644
--- a/arch/arm/mach-omap2/board-omap3pandora.c
+++ b/arch/arm/mach-omap2/board-omap3pandora.c
@@ -254,12 +254,14 @@ static void pandora_wl1251_init_card(struct mmc_card 
*card)
 * We have TI wl1251 attached to MMC3. Pass this information to
 * SDIO core because it can't be probed by normal methods.
 */
-   card-quirks |= MMC_QUIRK_NONSTD_SDIO;
-   card-cccr.wide_bus = 1;
-   card-cis.vendor = 0x104c;
-   card-cis.device = 0x9066;
-   card-cis.blksize = 512;
-   card-cis.max_dtr = 2000;
+   if (card-type == MMC_TYPE_SDIO || card-type == MMC_TYPE_SD_COMBO) {
+   card-quirks |= MMC_QUIRK_NONSTD_SDIO;
+   card-cccr.wide_bus = 1;
+   card-cis.vendor = 0x104c;
+   card-cis.device = 0x9066;
+   card-cis.blksize = 512;
+   card-cis.max_dtr = 2000;
+   }
 }
 
 static struct omap2_hsmmc_info omap3pandora_mmc[] = {
diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c
index 02ad792..4a21d66 100644
--- a/drivers/mmc/core/mmc.c
+++ b/drivers/mmc/core/mmc.c
@@ -1297,6 +1297,12 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr,
}
 
/*
+* Call the optional HC's init_card function to handle quirks.
+*/
+   if (host-ops-init_card)
+   host-ops-init_card(host, card);
+
+   /*
 * For native busses:  set card RCA and quit open drain mode.
 */
if (!mmc_host_is_spi(host)) {
diff --git a/drivers/mmc/core/sd.c b/drivers/mmc/core/sd.c
index d90a6de..29fccdc 100644
--- a/drivers/mmc/core/sd.c
+++ b/drivers/mmc/core/sd.c
@@ -933,6 +933,12 @@ static int mmc_sd_init_card(struct mmc_host *host, u32 ocr,
}
 
/*
+* Call the optional HC's init_card function to handle quirks.
+*/
+   if (host-ops-init_card)
+   host-ops-init_card(host, card);
+
+   /*
 * For native busses:  get card RCA and quit open drain mode.
 */
if (!mmc_host_is_spi(host)) {
@@ -1271,4 +1277,3 @@ err:
 
return err;
 }
-
-- 
2.2.0.rc0.207.ga3a616c

--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] ARM: OMAP2+: Warn about deprecated legacy booting mode

2014-12-02 Thread Pali Rohár
On Friday 28 November 2014 21:27:19 Tony Lindgren wrote:
 * Pali Rohár pali.ro...@gmail.com [141127 03:34]:
  On Thursday 27 November 2014 02:12:04 Tony Lindgren wrote:
   Thinking about this probably the best long term solution
   is to pass optional board_revision in the kernel cmdline
   that can be parsed early and copied to system_rev
   variable.
  
  Not possible. Our bootloader is closed  proprietary. I
  tried to replace it with u-boot I was not able to do that.
  So we will use that Nokia closed bootloader forever and it
  can provide data only in ATAG structure.
 
 I'm using just mainline u-boot flashed as kernel for nolo that
 then loads the kernel.
 
 For passing the board revision using the pass through u-boot
 is probably the best long term solution. U-boot can read the
 ATAGs from nolo and modify the .dtb for the revision
 information.
 
 Are you saying there are some issues with that?
 
   Or if you can think of some other way to get it, we can
   set system_rev in pdata-quirks.c.
   
   Or maybe add some code to copy the ATAGs somewhere where
   they are out of the way and don't conflict with the device
   tree data? Then we can query ATAG_REVISION from
   pdata-quirks.c and set system_rev.
  
  If we are able to read ATAG from pdata-quirks, then we can
  parse it there and fix problems... But I do not know if
  address of ATAG structure is available there...
 
 Are there other ATAGs needed beyond the ATAG_REVISION?
 
 Regards,
 
 Tony

Ouch... Also ATAG_CMDLINE... which is probably reason why cmdline 
passed from bootloader is ignored.

-- 
Pali Rohár
pali.ro...@gmail.com


signature.asc
Description: This is a digitally signed message part.


Re: [PATCH v4 1/3] mmc: core: Support the optional init_card() callback for MMC and SD

2014-12-02 Thread Jaehoon Chung
Hi Doug.

I think good that this patch is separated to two patches.
(board file and codes relevant to mmc.)

Best Regards,
Jaehoon Chung

On 12/03/2014 05:49 AM, Doug Anderson wrote:
 In (3fcb027 ARM: MXC: mxcmmc: work around a bug in the SDHC busy line
 handling) the optional init_card() callback was added.  According to
 the original change it was for now only called from
 mmc_sdio_init_card().
 
 This callback really ought to be called from the SD and MMC init
 functions as well.  One current user of this callback
 (mxcmci_init_card) will not work as expected if you insert an SDIO
 card, then eject it and put a normal SD card in.  Specifically the
 normal SD card will not get to run with 4-bit data.
 
 I'd like to use the init_card() callback to handle a similar quirk on
 dw_mmc when using SDIO Interrupts (the low power feature of the card
 needs to be disabled), so that will add a second user of the function.
 
 As part of this change fixup the one place that relied on the callback
 only happening for SDIO cards.
 
 Signed-off-by: Doug Anderson diand...@chromium.org
 Reviewed-by: Grant Grundler grund...@chromium.org
 ---
 Changes in v3:
 - Add fixup to pandora_wl1251_init_card().
 
 Changes in v2:
 - mmc core change new for this version.
 
  arch/arm/mach-omap2/board-omap3pandora.c | 14 --
  drivers/mmc/core/mmc.c   |  6 ++
  drivers/mmc/core/sd.c|  7 ++-
  3 files changed, 20 insertions(+), 7 deletions(-)
 
 diff --git a/arch/arm/mach-omap2/board-omap3pandora.c 
 b/arch/arm/mach-omap2/board-omap3pandora.c
 index 7f17087..969e100 100644
 --- a/arch/arm/mach-omap2/board-omap3pandora.c
 +++ b/arch/arm/mach-omap2/board-omap3pandora.c
 @@ -254,12 +254,14 @@ static void pandora_wl1251_init_card(struct mmc_card 
 *card)
* We have TI wl1251 attached to MMC3. Pass this information to
* SDIO core because it can't be probed by normal methods.
*/
 - card-quirks |= MMC_QUIRK_NONSTD_SDIO;
 - card-cccr.wide_bus = 1;
 - card-cis.vendor = 0x104c;
 - card-cis.device = 0x9066;
 - card-cis.blksize = 512;
 - card-cis.max_dtr = 2000;
 + if (card-type == MMC_TYPE_SDIO || card-type == MMC_TYPE_SD_COMBO) {
 + card-quirks |= MMC_QUIRK_NONSTD_SDIO;
 + card-cccr.wide_bus = 1;
 + card-cis.vendor = 0x104c;
 + card-cis.device = 0x9066;
 + card-cis.blksize = 512;
 + card-cis.max_dtr = 2000;
 + }
  }
  
  static struct omap2_hsmmc_info omap3pandora_mmc[] = {
 diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c
 index 02ad792..4a21d66 100644
 --- a/drivers/mmc/core/mmc.c
 +++ b/drivers/mmc/core/mmc.c
 @@ -1297,6 +1297,12 @@ static int mmc_init_card(struct mmc_host *host, u32 
 ocr,
   }
  
   /*
 +  * Call the optional HC's init_card function to handle quirks.
 +  */
 + if (host-ops-init_card)
 + host-ops-init_card(host, card);
 +
 + /*
* For native busses:  set card RCA and quit open drain mode.
*/
   if (!mmc_host_is_spi(host)) {
 diff --git a/drivers/mmc/core/sd.c b/drivers/mmc/core/sd.c
 index d90a6de..29fccdc 100644
 --- a/drivers/mmc/core/sd.c
 +++ b/drivers/mmc/core/sd.c
 @@ -933,6 +933,12 @@ static int mmc_sd_init_card(struct mmc_host *host, u32 
 ocr,
   }
  
   /*
 +  * Call the optional HC's init_card function to handle quirks.
 +  */
 + if (host-ops-init_card)
 + host-ops-init_card(host, card);
 +
 + /*
* For native busses:  get card RCA and quit open drain mode.
*/
   if (!mmc_host_is_spi(host)) {
 @@ -1271,4 +1277,3 @@ err:
  
   return err;
  }
 -
 

--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v5 0/4] Fixes for SDIO interrupts for dw_mmc

2014-12-02 Thread Doug Anderson
Bing Zhao at Marvell found a problem with dw_mmc where interrupts
weren't firing sometimes.  He tracked it down to a read-modify-write
problem with the INTMASK.  These patches fix the problem.

Note: I've picked up a  1-year old series here to make another
attempt at landing it upstream.  These patches have been in shipping
Chromebooks for the last year.  Note that v3 to v4 has no changes
other than a rebase and a small commit message update.

The first two patches extend the init_card() mechanism of MMC core
to actually be called for all card types, not just SDIO.  That could
be applied any time and should fix at least one longstanding bug
(untested).

The third patch is a cleanup patch to use init_card() to move things
around a bit so we don't need to handle SDIO cards in such a strange
place.  On earlier versions of this patch Seungwon brought up a few
points which I have _not_ addressed.  See
https://patchwork.kernel.org/patch/3049071/.  Other than talk of
cards with out of band interrupts maybe being able to gate their
clocks, he wanted to use MMC_QUIRK_BROKEN_CLK_GATING.  I didn't do
that because of the ordering of init_card() and when the quirks are
set.  Some users of init_card() like pandora_wl1251_init_card() rely
on it being called very early in the process.
pandora_wl1251_init_card() hardcodes a vendor and device and thus need
to be called super early.  On the other hand the code that adds quirks
_reads_ the vendor and device.  It can't possibly move before
init_card().  If folks are willing to take an additional host op of
init_card_late() I can certainly go that way, though.

The fourth patch is (I think) reviewed and ready to go assuming the
other two land.

Changes in v5:
- Split fixup to pandora_wl1251_init_card() into its own patch.

Changes in v3:
- Add fixup to pandora_wl1251_init_card().

Changes in v2:
- mmc core change new for this version.
- Fixed | to .
- intmask_lock renamed to irq_lock

Doug Anderson (4):
  ARM: OMAP2+: Make sure pandora_wl1251_init_card() applies to SDIO only
  mmc: core: Support the optional init_card() callback for MMC and SD
  mmc: dw_mmc: Cleanup disable of low power mode w/ SDIO interrupts
  mmc: dw_mmc: Protect read-modify-write of INTMASK with a lock

 arch/arm/mach-omap2/board-omap3pandora.c | 14 +++---
 drivers/mmc/core/mmc.c   |  6 +++
 drivers/mmc/core/sd.c|  7 ++-
 drivers/mmc/host/dw_mmc.c| 80 +++-
 drivers/mmc/host/dw_mmc.h|  1 +
 include/linux/mmc/dw_mmc.h   |  6 +++
 6 files changed, 74 insertions(+), 40 deletions(-)

-- 
2.2.0.rc0.207.ga3a616c

--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v5 1/4] ARM: OMAP2+: Make sure pandora_wl1251_init_card() applies to SDIO only

2014-12-02 Thread Doug Anderson
In preparation for having init_card() called for all card types (not
just SDIO), change pandora_wl1251_init_card() so it checks whether the
card type is SDIO.

Signed-off-by: Doug Anderson diand...@chromium.org
---
Changes in v5:
- Split fixup to pandora_wl1251_init_card() into its own patch.

Changes in v3: None
Changes in v2: None

 arch/arm/mach-omap2/board-omap3pandora.c | 14 --
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/arch/arm/mach-omap2/board-omap3pandora.c 
b/arch/arm/mach-omap2/board-omap3pandora.c
index 7f17087..969e100 100644
--- a/arch/arm/mach-omap2/board-omap3pandora.c
+++ b/arch/arm/mach-omap2/board-omap3pandora.c
@@ -254,12 +254,14 @@ static void pandora_wl1251_init_card(struct mmc_card 
*card)
 * We have TI wl1251 attached to MMC3. Pass this information to
 * SDIO core because it can't be probed by normal methods.
 */
-   card-quirks |= MMC_QUIRK_NONSTD_SDIO;
-   card-cccr.wide_bus = 1;
-   card-cis.vendor = 0x104c;
-   card-cis.device = 0x9066;
-   card-cis.blksize = 512;
-   card-cis.max_dtr = 2000;
+   if (card-type == MMC_TYPE_SDIO || card-type == MMC_TYPE_SD_COMBO) {
+   card-quirks |= MMC_QUIRK_NONSTD_SDIO;
+   card-cccr.wide_bus = 1;
+   card-cis.vendor = 0x104c;
+   card-cis.device = 0x9066;
+   card-cis.blksize = 512;
+   card-cis.max_dtr = 2000;
+   }
 }
 
 static struct omap2_hsmmc_info omap3pandora_mmc[] = {
-- 
2.2.0.rc0.207.ga3a616c

--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v4 1/3] mmc: core: Support the optional init_card() callback for MMC and SD

2014-12-02 Thread Doug Anderson
Jaehoon,

On Tue, Dec 2, 2014 at 3:15 PM, Jaehoon Chung jh80.ch...@samsung.com wrote:
 Hi Doug.

 I think good that this patch is separated to two patches.
 (board file and codes relevant to mmc.)

Yes, good idea.  I've spun v5 with this.

-Doug
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] gpio / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM

2014-12-02 Thread Rafael J. Wysocki
From: Rafael J. Wysocki rafael.j.wyso...@intel.com

After commit b2b49ccbdd54 (PM: Kconfig: Set PM_RUNTIME if PM_SLEEP is
selected) PM_RUNTIME is always set if PM is set, so #ifdef blocks
depending on CONFIG_PM_RUNTIME may now be changed to depend on
CONFIG_PM.

Replace CONFIG_PM_RUNTIME with CONFIG_PM in drivers/gpio/gpio-omap.c.

Signed-off-by: Rafael J. Wysocki rafael.j.wyso...@intel.com
---

Note: This depends on commit b2b49ccbdd54 (PM: Kconfig: Set PM_RUNTIME if
PM_SLEEP is selected) which is only in linux-next at the moment (via the
linux-pm tree).

Please let me know if it is OK to take this one into linux-pm.

---
 drivers/gpio/gpio-omap.c |8 
 1 file changed, 4 insertions(+), 4 deletions(-)

Index: linux-pm/drivers/gpio/gpio-omap.c
===
--- linux-pm.orig/drivers/gpio/gpio-omap.c
+++ linux-pm/drivers/gpio/gpio-omap.c
@@ -1259,7 +1259,7 @@ static int omap_gpio_probe(struct platfo
 
 #ifdef CONFIG_ARCH_OMAP2PLUS
 
-#if defined(CONFIG_PM_RUNTIME)
+#if defined(CONFIG_PM)
 static void omap_gpio_restore_context(struct gpio_bank *bank);
 
 static int omap_gpio_runtime_suspend(struct device *dev)
@@ -1440,7 +1440,7 @@ static int omap_gpio_runtime_resume(stru
 
return 0;
 }
-#endif /* CONFIG_PM_RUNTIME */
+#endif /* CONFIG_PM */
 
 void omap2_gpio_prepare_for_idle(int pwr_mode)
 {
@@ -1468,7 +1468,7 @@ void omap2_gpio_resume_after_idle(void)
}
 }
 
-#if defined(CONFIG_PM_RUNTIME)
+#if defined(CONFIG_PM)
 static void omap_gpio_init_context(struct gpio_bank *p)
 {
struct omap_gpio_reg_offs *regs = p-regs;
@@ -1525,7 +1525,7 @@ static void omap_gpio_restore_context(st
writel_relaxed(bank-context.irqenable2,
bank-base + bank-regs-irqenable2);
 }
-#endif /* CONFIG_PM_RUNTIME */
+#endif /* CONFIG_PM */
 #else
 #define omap_gpio_runtime_suspend NULL
 #define omap_gpio_runtime_resume NULL

--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] i2c-omap / PM: Drop CONFIG_PM_RUNTIME from i2c-omap.c

2014-12-02 Thread Rafael J. Wysocki
From: Rafael J. Wysocki rafael.j.wyso...@intel.com

After commit b2b49ccbdd54 (PM: Kconfig: Set PM_RUNTIME if PM_SLEEP is
selected) PM_RUNTIME is always set if PM is set, so some #ifdef blocks
depending on CONFIG_PM_RUNTIME may be dropped now.

Do that in drivers/i2c/busses/i2c-omap.c.

Signed-off-by: Rafael J. Wysocki rafael.j.wyso...@intel.com
---

Note: This depends on commit b2b49ccbdd54 (PM: Kconfig: Set PM_RUNTIME if
PM_SLEEP is selected) which is only in linux-next at the moment (via the
linux-pm tree).

Please let me know if it is OK to take this one into linux-pm.

---
 drivers/i2c/busses/i2c-omap.c |2 --
 1 file changed, 2 deletions(-)

Index: linux-pm/drivers/i2c/busses/i2c-omap.c
===
--- linux-pm.orig/drivers/i2c/busses/i2c-omap.c
+++ linux-pm/drivers/i2c/busses/i2c-omap.c
@@ -1280,7 +1280,6 @@ static int omap_i2c_remove(struct platfo
 }
 
 #ifdef CONFIG_PM
-#ifdef CONFIG_PM_RUNTIME
 static int omap_i2c_runtime_suspend(struct device *dev)
 {
struct platform_device *pdev = to_platform_device(dev);
@@ -1318,7 +1317,6 @@ static int omap_i2c_runtime_resume(struc
 
return 0;
 }
-#endif /* CONFIG_PM_RUNTIME */
 
 static struct dev_pm_ops omap_i2c_pm_ops = {
SET_RUNTIME_PM_OPS(omap_i2c_runtime_suspend,

--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] hsi / OMAP / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM

2014-12-02 Thread Rafael J. Wysocki
From: Rafael J. Wysocki rafael.j.wyso...@intel.com

After commit b2b49ccbdd54 (PM: Kconfig: Set PM_RUNTIME if PM_SLEEP is
selected) PM_RUNTIME is always set if PM is set, so #ifdef blocks
depending on CONFIG_PM_RUNTIME may now be changed to depend on
CONFIG_PM.

Do that for the omap_ssi driver.

Signed-off-by: Rafael J. Wysocki rafael.j.wyso...@intel.com
---

Note: This depends on commit b2b49ccbdd54 (PM: Kconfig: Set PM_RUNTIME if
PM_SLEEP is selected) which is only in linux-next at the moment (via the
linux-pm tree).

Please let me know if it is OK to take this one into linux-pm.

---
 drivers/hsi/controllers/omap_ssi.c  |2 +-
 drivers/hsi/controllers/omap_ssi_port.c |2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Index: linux-pm/drivers/hsi/controllers/omap_ssi.c
===
--- linux-pm.orig/drivers/hsi/controllers/omap_ssi.c
+++ linux-pm/drivers/hsi/controllers/omap_ssi.c
@@ -555,7 +555,7 @@ static int __exit ssi_remove(struct plat
return 0;
 }
 
-#ifdef CONFIG_PM_RUNTIME
+#ifdef CONFIG_PM
 static int omap_ssi_runtime_suspend(struct device *dev)
 {
struct hsi_controller *ssi = dev_get_drvdata(dev);
Index: linux-pm/drivers/hsi/controllers/omap_ssi_port.c
===
--- linux-pm.orig/drivers/hsi/controllers/omap_ssi_port.c
+++ linux-pm/drivers/hsi/controllers/omap_ssi_port.c
@@ -1260,7 +1260,7 @@ static int __exit ssi_port_remove(struct
return 0;
 }
 
-#ifdef CONFIG_PM_RUNTIME
+#ifdef CONFIG_PM
 static int ssi_save_port_ctx(struct omap_ssi_port *omap_port)
 {
struct hsi_port *port = to_hsi_port(omap_port-dev);

--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] hsi / OMAP / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM

2014-12-02 Thread Sebastian Reichel
Hi,

On Wed, Dec 03, 2014 at 03:02:24AM +0100, Rafael J. Wysocki wrote:
 After commit b2b49ccbdd54 (PM: Kconfig: Set PM_RUNTIME if PM_SLEEP is
 selected) PM_RUNTIME is always set if PM is set, so #ifdef blocks
 depending on CONFIG_PM_RUNTIME may now be changed to depend on
 CONFIG_PM.
 
 Do that for the omap_ssi driver.
 
 Signed-off-by: Rafael J. Wysocki rafael.j.wyso...@intel.com

Acked-By: Sebastian Reichel s...@kernel.org

-- Sebastian


signature.asc
Description: Digital signature


Re: [PATCH] gpio / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM

2014-12-02 Thread Alexandre Courbot
On Wed, Dec 3, 2014 at 10:50 AM, Rafael J. Wysocki r...@rjwysocki.net wrote:
 From: Rafael J. Wysocki rafael.j.wyso...@intel.com

 After commit b2b49ccbdd54 (PM: Kconfig: Set PM_RUNTIME if PM_SLEEP is
 selected) PM_RUNTIME is always set if PM is set, so #ifdef blocks
 depending on CONFIG_PM_RUNTIME may now be changed to depend on
 CONFIG_PM.

 Replace CONFIG_PM_RUNTIME with CONFIG_PM in drivers/gpio/gpio-omap.c.

 Signed-off-by: Rafael J. Wysocki rafael.j.wyso...@intel.com

Acked-by: Alexandre Courbot acour...@nvidia.com
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: OMAP baseline test results for v3.18-rc7

2014-12-02 Thread Igor Grinberg
Hi Paul,

On 12/02/14 20:39, Paul Walmsley wrote:
 
 Here are some basic OMAP test results for Linux v3.18-rc7.
 Logs and other details at:
 
 http://www.pwsan.com/omap/testlogs/test_v3.18-rc7/20141201203859/
 
 
 Test summary
 
 

[...]

 Build: uImage+dtb:
 Pass (13/13): omap2plus_defconfig_am33xx_only/am335x-bone,
 omap2plus_defconfig/omap4-panda,
 omap2plus_defconfig/omap4-panda-es,
 omap2plus_defconfig/omap4-var-som,
 omap2plus_defconfig/omap3-evm-37xx,
 omap2plus_defconfig_n800_only_a/omap2420-n800,
 omap2plus_defconfig/omap2430-sdp,
 omap2plus_defconfig/am3517-evm,
 omap2plus_defconfig/omap3-beagle,
 omap2plus_defconfig/omap3-beagle-xm,
 omap2plus_defconfig/omap3-sbc-t3517,
 omap2plus_defconfig/omap5-uevm,
 omap2plus_defconfig/omap5-sbc-t54
 

[...]

 Boot to userspace:
 FAIL ( 1/16): 2430sdp
 skip ( 2/16): 5912osk, 3517evm
 Pass (13/16): am335xbonelt, am335xbone, 4430es2panda, 4460pandaes,
 4460varsomom, 37xxevm, 3530es3beagle, 3530es31beagle,
 3730beaglexm, 3730es12beaglexm, 5430es2uevm,
 5430es2sbct54, 2420n800

I've looked at the boot log and it seems cm-t3517 is booting just fine...
A problem with the test/report collecting script?
5912osk is not listed by the link above, but there are indeed 16 entries...

[...]

-- 
Regards,
Igor.
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html