Hai Li | 3 Sep 20:30 2015

[PATCH] drm/msm/dsi: Parse lane swap information from DT

Lane swap configuration is based on the board design.
This change allows the DSI host to get this information
from device tree, instead of hardcoding in driver.

Signed-off-by: Hai Li <hali <at> codeaurora.org>
---
 Documentation/devicetree/bindings/drm/msm/dsi.txt | 13 ++++++
 drivers/gpu/drm/msm/dsi/dsi_host.c                | 49 +++++++++++++++++------
 2 files changed, 49 insertions(+), 13 deletions(-)

diff --git a/Documentation/devicetree/bindings/drm/msm/dsi.txt b/Documentation/devicetree/bindings/drm/msm/dsi.txt
index d56923c..febcc51 100644
--- a/Documentation/devicetree/bindings/drm/msm/dsi.txt
+++ b/Documentation/devicetree/bindings/drm/msm/dsi.txt
 <at>  <at>  -44,6 +44,17  <at>  <at>  Optional properties:
 - port: DSI controller output port. This contains one endpoint subnode, with its
   remote-endpoint set to the phandle of the connected panel's endpoint.
   See Documentation/devicetree/bindings/graph.txt for device graph info.
+- qcom,dsi-logical-lane-swap: Character string to swap logical lane to physical
+  lane mapping. Supported lane mappings:
+  "0123": Logic 0->Phys 0; Logic 1->Phys 1; Logic 2->Phys 2; Logic 3->Phys 3;
+  "3012": Logic 3->Phys 0; Logic 0->Phys 1; Logic 1->Phys 2; Logic 2->Phys 3;
+  "2301": Logic 2->Phys 0; Logic 3->Phys 1; Logic 0->Phys 2; Logic 1->Phys 3;
+  "1230": Logic 1->Phys 0; Logic 2->Phys 1; Logic 3->Phys 2; Logic 0->Phys 3;
+  "0321": Logic 0->Phys 0; Logic 3->Phys 1; Logic 2->Phys 2; Logic 1->Phys 3;
+  "1032": Logic 1->Phys 0; Logic 0->Phys 1; Logic 3->Phys 2; Logic 2->Phys 3;
+  "2103": Logic 2->Phys 0; Logic 1->Phys 1; Logic 0->Phys 2; Logic 3->Phys 3;
+  "3210": Logic 3->Phys 0; Logic 2->Phys 1; Logic 1->Phys 2; Logic 0->Phys 3;
+  Default value is "0123", which means no lane swap.

(Continue reading)

Stephen Boyd | 3 Sep 00:46 2015

[PATCH v2 0/8] SMEM/SMD/SMD_RPM big endian support + tidying

This supersedes the 3 "series" of patches to move smem to big endian,
smd to big endian, and make qcom_smem_get() return a pointer.

I've moved the qcom_smem_get() returning a pointer part to the beginning
of the series so it can be applied earlier if desired. I imagine the
first 7 patches can go through arm-soc, and the last patch Mark can pick
up anytime. All patches tested on apq8074 dragonboard.

I've already written the patches to add __ioread32_copy(), but I'm
holding them until -rc1 drops because I'd rather not involve even
more people in this series just yet.

Stephen Boyd (8):
  soc: qcom: Make qcom_smem_get() return a pointer
  soc: qcom: smem: Handle big endian CPUs
  soc: qcom: smd: Represent channel layout in structures
  soc: qcom: smd: Use __iowrite32_copy() instead of open-coding it
  soc: qcom: smd: Remove use of VLAIS
  soc: qcom: smd: Handle big endian CPUs
  soc: qcom: smd_rpm: Handle big endian CPUs
  regulator: qcom_smd: Handle big endian CPUs

 drivers/regulator/qcom_smd-regulator.c |  28 ++--
 drivers/soc/qcom/smd-rpm.c             |  68 ++++----
 drivers/soc/qcom/smd.c                 | 259 +++++++++++++++++------------
 drivers/soc/qcom/smem.c                | 293 +++++++++++++++++++--------------
 include/linux/soc/qcom/smem.h          |   2 +-
 5 files changed, 374 insertions(+), 276 deletions(-)

--

-- 
(Continue reading)

Yaniv Gardi | 2 Sep 16:34 2015

[PATCH v6 0/8] Fix error message and present UFS variant

V6: removed dead code from ufs-qcom.c and added
calling to ufshcd_dealloc_host() in ufshcd-pltfrm.c in case
of an error after a successfull ufshcd_alloc_host()

V5: removed a redundant null check

V4: add file
Documentation/devicetree/bindings/ufs/ufs-qcom.txt
and modify the compatible strings in
Documentation/devicetree/bindings/ufs/ufshcd-pltfrm.txt

V3: fixes a few minor issues.

V2: fixes a few issues of unnecessary EXPORT_SYMBOL,
types of parameters in routine definition, 
build errors in case CONFIG_PM is not defined and some
other minor fixes.

Yaniv Gardi (8):
  phy: qcom-ufs: fix build error when the component is built as a module
  scsi: ufs-qcom: fix compilation warning if compiled as a module
  scsi: ufs-qcom: update configuration option of SCSI_UFS_QCOM component
  add ufshcd_get_variant ufshcd_set_variant
  scsi: ufs: creates wrapper functions for vops
  scsi: ufs: make the UFS variant a platform device
  scsi: ufs-qcom: add debug prints for test bus
  scsi: ufs-qcom: add QUniPro hardware support and power optimizations

 Documentation/devicetree/bindings/ufs/ufs-qcom.txt |  57 ++
 .../devicetree/bindings/ufs/ufshcd-pltfrm.txt      |   4 +-
(Continue reading)

Yaniv Gardi | 2 Sep 10:32 2015

[PATCH v5 0/8] Fix error message and present UFS variant

V5: removed a redundant null check

V4: add file
Documentation/devicetree/bindings/ufs/ufs-qcom.txt
and modify the compatible strings in
Documentation/devicetree/bindings/ufs/ufshcd-pltfrm.txt

V3: fixes a few minor issues.

V2: fixes a few issues of unnecessary EXPORT_SYMBOL,
types of parameters in routine definition, 
build errors in case CONFIG_PM is not defined and some
other minor fixes.

Yaniv Gardi (8):
  phy: qcom-ufs: fix build error when the component is built as a module
  scsi: ufs-qcom: fix compilation warning if compiled as a module
  scsi: ufs-qcom: update configuration option of SCSI_UFS_QCOM component
  add ufshcd_get_variant ufshcd_set_variant
  scsi: ufs: creates wrapper functions for vops
  scsi: ufs: make the UFS variant a platform device
  scsi: ufs-qcom: add debug prints for test bus
  scsi: ufs-qcom: add QUniPro hardware support and power optimizations

 Documentation/devicetree/bindings/ufs/ufs-qcom.txt |  57 ++
 .../devicetree/bindings/ufs/ufshcd-pltfrm.txt      |   4 +-
 drivers/phy/phy-qcom-ufs.c                         |  11 +
 drivers/scsi/ufs/Kconfig                           |   2 +-
 drivers/scsi/ufs/ufs-qcom.c                        | 917 ++++++++++++++++-----
 drivers/scsi/ufs/ufs-qcom.h                        |  68 +-
(Continue reading)

Stephen Boyd | 1 Sep 03:39 2015

[PATCH 0/3] qcom smd big endian support

This set of patches does some tidying in the beginning to prepare
for adding big endian CPU support to the smd code. It builds on a
previous patch to add big endian support to smem.

Stephen Boyd (3):
  soc: qcom: smd: Represent channel layout in structures
  soc: qcom: smd: Use __iowrite32_copy() instead of open-coding it
  soc: qcom: smd: Handle big endian CPUs

 drivers/soc/qcom/smd.c | 221 ++++++++++++++++++++++++++++++-------------------
 1 file changed, 136 insertions(+), 85 deletions(-)

--

-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project

Yaniv Gardi | 30 Aug 16:52 2015

[PATCH v4 0/8] Fix error message and present UFS variant

V4: add file
Documentation/devicetree/bindings/ufs/ufs-qcom.txt
and modify the compatible strings in
Documentation/devicetree/bindings/ufs/ufshcd-pltfrm.txt

V3: fixes a few minor issues.

V2: fixes a few issues of unnecessary EXPORT_SYMBOL,
types of parameters in routine definition, 
build errors in case CONFIG_PM is not defined and some
other minor fixes.

Yaniv Gardi (8):
  phy: qcom-ufs: fix build error when the component is built as a module
  scsi: ufs-qcom: fix compilation warning if compiled as a module
  scsi: ufs-qcom: update configuration option of SCSI_UFS_QCOM component
  add ufshcd_get_variant ufshcd_set_variant
  scsi: ufs: creates wrapper functions for vops
  scsi: ufs: make the UFS variant a platform device
  scsi: ufs-qcom: add debug prints for test bus
  scsi: ufs-qcom: add QUniPro hardware support and power optimizations

 Documentation/devicetree/bindings/ufs/ufs-qcom.txt |  57 ++
 .../devicetree/bindings/ufs/ufshcd-pltfrm.txt      |   4 +-
 drivers/phy/phy-qcom-ufs.c                         |  11 +
 drivers/scsi/ufs/Kconfig                           |   2 +-
 drivers/scsi/ufs/ufs-qcom.c                        | 921 ++++++++++++++++-----
 drivers/scsi/ufs/ufs-qcom.h                        |  68 +-
 drivers/scsi/ufs/ufshcd-pltfrm.c                   |  92 +-
 drivers/scsi/ufs/ufshcd-pltfrm.h                   |  41 +
(Continue reading)

Stephen Boyd | 29 Aug 02:44 2015

[PATCH] soc: qcom: smem: Handle big endian CPUs

The contents of smem are always in little endian, but the smem
driver is not capable of being used on big endian CPUs. Annotate
the little endian data members and update the code to do the
proper byte swapping.

Cc: Bjorn Andersson <bjorn.andersson <at> sonymobile.com>
Signed-off-by: Stephen Boyd <sboyd <at> codeaurora.org>
---
 drivers/soc/qcom/smem.c | 230 +++++++++++++++++++++++++++++-------------------
 1 file changed, 139 insertions(+), 91 deletions(-)

diff --git a/drivers/soc/qcom/smem.c b/drivers/soc/qcom/smem.c
index 4c347e7c5880..eba4cbaaacbe 100644
--- a/drivers/soc/qcom/smem.c
+++ b/drivers/soc/qcom/smem.c
 <at>  <at>  -92,9 +92,9  <at>  <at> 
   *  <at> params:	parameters to the command
   */
 struct smem_proc_comm {
-	u32 command;
-	u32 status;
-	u32 params[2];
+	__le32 command;
+	__le32 status;
+	__le32 params[2];
 };

 /**
 <at>  <at>  -106,10 +106,10  <at>  <at>  struct smem_proc_comm {
  *		the default region. bits 0,1 are reserved
(Continue reading)

Bjorn Andersson | 28 Aug 19:39 2015

[PATCH] soc: qcom: smd: Implement id_table driver matching

Implement a id_table based driver maching mechanism for drivers that
binds to fixed channels and doesn't need any additional configuration,
e.g. IPCRTR and DIAG.

Signed-off-by: Bjorn Andersson <bjorn.andersson <at> sonymobile.com>
---
 drivers/soc/qcom/smd.c       | 25 ++++++++++++++++++-------
 include/linux/soc/qcom/smd.h | 11 +++++++++++
 2 files changed, 29 insertions(+), 7 deletions(-)

diff --git a/drivers/soc/qcom/smd.c b/drivers/soc/qcom/smd.c
index cb7bc55d981a..ed1e4922b14d 100644
--- a/drivers/soc/qcom/smd.c
+++ b/drivers/soc/qcom/smd.c
 <at>  <at>  -725,6 +725,19  <at>  <at>  static struct qcom_smd_driver *to_smd_driver(struct device *dev)

 static int qcom_smd_dev_match(struct device *dev, struct device_driver *drv)
 {
+	struct qcom_smd_device *qsdev = to_smd_device(dev);
+	struct qcom_smd_driver *qsdrv = container_of(drv, struct qcom_smd_driver, driver);
+	const struct qcom_smd_id *match = qsdrv->smd_match_table;
+	const char *name = qsdev->channel->name;
+
+	if (match) {
+		while (match->name[0]) {
+			if (!strcmp(match->name, name))
+				return 1;
+			match++;
+		}
+	}
(Continue reading)

Andy Gross | 28 Aug 22:18 2015

[GIT PULL] qcom SoC changes for 4.3-rc2 Part 2

The following changes since commit 3427446d72e21f6992534a3b68055f1b4c722546:

  soc: qcom: smd: Use correct remote processor ID (2015-08-27 12:15:58 -0500)

are available in the git repository at:

  git://codeaurora.org/quic/kernel/agross-msm.git tags/qcom-soc-for-4.3-rc2-1

for you to fetch changes up to 8208b90daca1a685eb19e90bbef23af00449f46c:

  soc: qcom: smd: Correct fBLOCKREADINTR handling (2015-08-28 14:54:08 -0500)

----------------------------------------------------------------
Qualcomm ARM Based SoC Updates for 4.3-rc2-1

* Correct SMD fBLOCKREADINTR handling

----------------------------------------------------------------
Bjorn Andersson (1):
      soc: qcom: smd: Correct fBLOCKREADINTR handling

 drivers/soc/qcom/smd.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
Stephen Boyd | 28 Aug 21:31 2015

[PATCH] spmi: pmic-arb: u8 <= 0xff is always true

Silences this static checker warning:

 drivers/spmi/spmi-pmic-arb.c:363
 pmic_arb_write_cmd() warn: always true condition
 '(opc <= 255) => (0-255 <= 255)'

Cc: Andy Gross <agross <at> codeaurora.org>
Cc: Bjorn Andersson <bjorn.andersson <at> sonymobile.com>
Signed-off-by: Stephen Boyd <sboyd <at> codeaurora.org>
---
 drivers/spmi/spmi-pmic-arb.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/spmi/spmi-pmic-arb.c b/drivers/spmi/spmi-pmic-arb.c
index 5e834bd23c09..c7aa6f1a898e 100644
--- a/drivers/spmi/spmi-pmic-arb.c
+++ b/drivers/spmi/spmi-pmic-arb.c
 <at>  <at>  -360,7 +360,7  <at>  <at>  static int pmic_arb_write_cmd(struct spmi_controller *ctrl, u8 opc, u8 sid,
 		opc = PMIC_ARB_OP_EXT_WRITE;
 	else if (opc >= 0x30 && opc <= 0x37)
 		opc = PMIC_ARB_OP_EXT_WRITEL;
-	else if (opc >= 0x80 && opc <= 0xFF)
+	else if (opc >= 0x80)
 		opc = PMIC_ARB_OP_ZERO_WRITE;
 	else
 		return -EINVAL;
--

-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project

(Continue reading)

Stephen Boyd | 28 Aug 20:23 2015

[PATCH] soc: qcom: Reorder SMEM/SMD configs

When I make nconfig, having the SMEM option after the SMD option
causes the configurator to get confused when I'm enabling and
disabling these options. Let's move SMEM before SMD so there's a
clear indented dependency chain.

Cc: Bjorn Andersson <bjorn.andersson <at> sonymobile.com>
Signed-off-by: Stephen Boyd <sboyd <at> codeaurora.org>
---
 drivers/soc/qcom/Kconfig | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/soc/qcom/Kconfig b/drivers/soc/qcom/Kconfig
index ba47b70f4d85..3e4d2133c3d2 100644
--- a/drivers/soc/qcom/Kconfig
+++ b/drivers/soc/qcom/Kconfig
 <at>  <at>  -19,6 +19,14  <at>  <at>  config QCOM_PM
 	  modes. It interface with various system drivers to put the cores in
 	  low power modes.

+config QCOM_SMEM
+	tristate "Qualcomm Shared Memory Manager (SMEM)"
+	depends on ARCH_QCOM
+	help
+	  Say y here to enable support for the Qualcomm Shared Memory Manager.
+	  The driver provides an interface to items in a heap shared among all
+	  processors in a Qualcomm platform.
+
 config QCOM_SMD
 	tristate "Qualcomm Shared Memory Driver (SMD)"
 	depends on QCOM_SMEM
(Continue reading)


Gmane