All of lore.kernel.org
 help / color / mirror / Atom feed
* [GIT PATCH 0/4] isci update for 3.6
@ 2012-07-11 21:59 Dan Williams
  2012-07-11 21:59 ` [PATCH 1/4] isci: fix isci_pci_probe() generates warning on efi failure path Dan Williams
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Dan Williams @ 2012-07-11 21:59 UTC (permalink / raw)
  To: JBottomley; +Cc: linux-scsi

James,

This is the backlog of the libsas indepedent driver changes for 3.6.  Just a
small collection of fixlets.  Please pull, thanks.

--
Dan


The following changes since commit f8f5701bdaf9134b1f90e5044a82c66324d2073f:

  Linux 3.5-rc1 (2012-06-02 18:29:26 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/djbw/isci.git tags/isci-for-3.6

for you to fetch changes up to 6734092e66011def7875bd67beef889d0fee1cc9:

  isci: add a couple __iomem annotations (2012-07-03 12:09:32 -0700)


----------------------------------------------------------------
isci update for 3.6

1/ Fix the workaround for drives that have a slow response to COMSAS.
   Drives with this problem intermittently take a long time to be
   identified, or fail to be identified altogether.

2/ A minor fix for the efi variable code failure path

3/ A handful of smatch fixups from Dan Carpenter

----------------------------------------------------------------
Dan Carpenter (2):
      isci: make function declaration match implementation
      isci: add a couple __iomem annotations

Dan Williams (1):
      isci: fix isci_pci_probe() generates warning on efi failure path

Dave Maurer (1):
      isci: fix COMSAS negation timout workaround for WD SAS drives

 drivers/scsi/isci/host.c                | 2 +-
 drivers/scsi/isci/init.c                | 1 -
 drivers/scsi/isci/phy.c                 | 4 +++-
 drivers/scsi/isci/probe_roms.c          | 1 -
 drivers/scsi/isci/remote_node_context.h | 2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 1/4] isci: fix isci_pci_probe() generates warning on efi failure path
  2012-07-11 21:59 [GIT PATCH 0/4] isci update for 3.6 Dan Williams
@ 2012-07-11 21:59 ` Dan Williams
  2012-07-11 21:59 ` [PATCH 2/4] isci: fix COMSAS negation timout workaround for WD SAS drives Dan Williams
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Dan Williams @ 2012-07-11 21:59 UTC (permalink / raw)
  To: JBottomley; +Cc: linux-scsi

The oem parameter image embedded in the efi variable is at an offset
from the start of the variable.  However, in the failure path we try to
free the 'orom' pointer which is only valid when the paramaters are
being read from the legacy option-rom space.

Since failure to load the oem parameters is unlikely and we keep the
memory around in the success case just defer all de-allocation to devm.

Cc: <stable@vger.kernel.org>
Reported-by: Don Morris <don.morris@hp.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
---
 drivers/scsi/isci/init.c       |    1 -
 drivers/scsi/isci/probe_roms.c |    1 -
 2 files changed, 2 deletions(-)

diff --git a/drivers/scsi/isci/init.c b/drivers/scsi/isci/init.c
index 47e28b5..8870bd3 100644
--- a/drivers/scsi/isci/init.c
+++ b/drivers/scsi/isci/init.c
@@ -641,7 +641,6 @@ static int __devinit isci_pci_probe(struct pci_dev *pdev, const struct pci_devic
 						orom->hdr.version)) {
 			dev_warn(&pdev->dev,
 				 "[%d]: invalid oem parameters detected, falling back to firmware\n", i);
-			devm_kfree(&pdev->dev, orom);
 			orom = NULL;
 			break;
 		}
diff --git a/drivers/scsi/isci/probe_roms.c b/drivers/scsi/isci/probe_roms.c
index 4d95654..8ac646e 100644
--- a/drivers/scsi/isci/probe_roms.c
+++ b/drivers/scsi/isci/probe_roms.c
@@ -104,7 +104,6 @@ struct isci_orom *isci_request_oprom(struct pci_dev *pdev)
 
 	if (i >= len) {
 		dev_err(&pdev->dev, "oprom parse error\n");
-		devm_kfree(&pdev->dev, rom);
 		rom = NULL;
 	}
 	pci_unmap_biosrom(oprom);


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/4] isci: fix COMSAS negation timout workaround for WD SAS drives
  2012-07-11 21:59 [GIT PATCH 0/4] isci update for 3.6 Dan Williams
  2012-07-11 21:59 ` [PATCH 1/4] isci: fix isci_pci_probe() generates warning on efi failure path Dan Williams
@ 2012-07-11 21:59 ` Dan Williams
  2012-07-11 21:59 ` [PATCH 3/4] isci: make function declaration match implementation Dan Williams
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Dan Williams @ 2012-07-11 21:59 UTC (permalink / raw)
  To: JBottomley; +Cc: linux-scsi

From: Dave Maurer <david.c.maurer@intel.com>

The following patch is a fix for the WD workaround
COMSAS negation timeout change. This patch disables the
OOB SM when the OOB is placed in reset, which allows
the updated COMSAS negation timeout value to take
effect.

Cc: Dan Thompson <daniel.j.thompson@intel.com>
Reported-by: Dan Thompson <daniel.j.thompson@intel.com>
Signed-off-by: Dave Maurer <david.c.maurer@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
---
 drivers/scsi/isci/phy.c |    2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/scsi/isci/phy.c b/drivers/scsi/isci/phy.c
index 18f43d4..ebb8f53 100644
--- a/drivers/scsi/isci/phy.c
+++ b/drivers/scsi/isci/phy.c
@@ -1205,6 +1205,7 @@ static void scu_link_layer_start_oob(struct isci_phy *iphy)
 	/** Reset OOB sequence - start */
 	val = readl(&ll->phy_configuration);
 	val &= ~(SCU_SAS_PCFG_GEN_BIT(OOB_RESET) |
+		 SCU_SAS_PCFG_GEN_BIT(OOB_ENABLE) |
 		 SCU_SAS_PCFG_GEN_BIT(HARD_RESET));
 	writel(val, &ll->phy_configuration);
 	readl(&ll->phy_configuration); /* flush */
@@ -1236,6 +1237,7 @@ static void scu_link_layer_tx_hard_reset(
 	 * to the starting state. */
 	phy_configuration_value =
 		readl(&iphy->link_layer_registers->phy_configuration);
+	phy_configuration_value &= ~(SCU_SAS_PCFG_GEN_BIT(OOB_ENABLE));
 	phy_configuration_value |=
 		(SCU_SAS_PCFG_GEN_BIT(HARD_RESET) |
 		 SCU_SAS_PCFG_GEN_BIT(OOB_RESET));


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 3/4] isci: make function declaration match implementation
  2012-07-11 21:59 [GIT PATCH 0/4] isci update for 3.6 Dan Williams
  2012-07-11 21:59 ` [PATCH 1/4] isci: fix isci_pci_probe() generates warning on efi failure path Dan Williams
  2012-07-11 21:59 ` [PATCH 2/4] isci: fix COMSAS negation timout workaround for WD SAS drives Dan Williams
@ 2012-07-11 21:59 ` Dan Williams
  2012-07-11 21:59 ` [PATCH 4/4] isci: add a couple __iomem annotations Dan Williams
  2012-07-25 23:08 ` [GIT PATCH 0/4] isci update for 3.6 Skirvin, Jeffrey D
  4 siblings, 0 replies; 7+ messages in thread
From: Dan Williams @ 2012-07-11 21:59 UTC (permalink / raw)
  To: JBottomley; +Cc: linux-scsi

From: Dan Carpenter <dan.carpenter@oracle.com>

Sparse complains that we redeclare this with a different type, because
in the .c file we use an enum and in the .h file we declare the
parameter as a u32.  Probably it's best to use an enum in both places.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
---
 drivers/scsi/isci/remote_node_context.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/scsi/isci/remote_node_context.h b/drivers/scsi/isci/remote_node_context.h
index a703b9c..c7ee81d 100644
--- a/drivers/scsi/isci/remote_node_context.h
+++ b/drivers/scsi/isci/remote_node_context.h
@@ -212,7 +212,7 @@ enum sci_status sci_remote_node_context_destruct(struct sci_remote_node_context
 						      scics_sds_remote_node_context_callback callback,
 						      void *callback_parameter);
 enum sci_status sci_remote_node_context_suspend(struct sci_remote_node_context *sci_rnc,
-						     u32 suspend_type,
+						     enum sci_remote_node_suspension_reasons reason,
 						     u32 suspension_code);
 enum sci_status sci_remote_node_context_resume(struct sci_remote_node_context *sci_rnc,
 						    scics_sds_remote_node_context_callback cb_fn,


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 4/4] isci: add a couple __iomem annotations
  2012-07-11 21:59 [GIT PATCH 0/4] isci update for 3.6 Dan Williams
                   ` (2 preceding siblings ...)
  2012-07-11 21:59 ` [PATCH 3/4] isci: make function declaration match implementation Dan Williams
@ 2012-07-11 21:59 ` Dan Williams
  2012-07-25 23:08 ` [GIT PATCH 0/4] isci update for 3.6 Skirvin, Jeffrey D
  4 siblings, 0 replies; 7+ messages in thread
From: Dan Williams @ 2012-07-11 21:59 UTC (permalink / raw)
  To: JBottomley; +Cc: linux-scsi

From: Dan Carpenter <dan.carpenter@oracle.com>

These are __iomem.  Sparse complains if we don't have that.

drivers/scsi/isci/phy.c +149 70: warning:
        incorrect type in initializer (different address spaces)

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
---
 drivers/scsi/isci/host.c |    2 +-
 drivers/scsi/isci/phy.c  |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/isci/host.c b/drivers/scsi/isci/host.c
index 45385f5..b425ed5 100644
--- a/drivers/scsi/isci/host.c
+++ b/drivers/scsi/isci/host.c
@@ -1973,7 +1973,7 @@ static void sci_controller_afe_initialization(struct isci_host *ihost)
 	}
 
 	for (phy_id = 0; phy_id < SCI_MAX_PHYS; phy_id++) {
-		struct scu_afe_transceiver *xcvr = &afe->scu_afe_xcvr[phy_id];
+		struct scu_afe_transceiver __iomem *xcvr = &afe->scu_afe_xcvr[phy_id];
 		const struct sci_phy_oem_params *oem_phy = &oem->phys[phy_id];
 		int cable_length_long =
 			is_long_cable(phy_id, cable_selection_mask);
diff --git a/drivers/scsi/isci/phy.c b/drivers/scsi/isci/phy.c
index ebb8f53..cb87b2e 100644
--- a/drivers/scsi/isci/phy.c
+++ b/drivers/scsi/isci/phy.c
@@ -169,7 +169,7 @@ sci_phy_link_layer_initialization(struct isci_phy *iphy,
 	phy_cap.gen1_no_ssc = 1;
 	if (ihost->oem_parameters.controller.do_enable_ssc) {
 		struct scu_afe_registers __iomem *afe = &ihost->scu_registers->afe;
-		struct scu_afe_transceiver *xcvr = &afe->scu_afe_xcvr[phy_idx];
+		struct scu_afe_transceiver __iomem *xcvr = &afe->scu_afe_xcvr[phy_idx];
 		struct isci_pci_info *pci_info = to_pci_info(ihost->pdev);
 		bool en_sas = false;
 		bool en_sata = false;


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* RE: [GIT PATCH 0/4] isci update for 3.6
  2012-07-11 21:59 [GIT PATCH 0/4] isci update for 3.6 Dan Williams
                   ` (3 preceding siblings ...)
  2012-07-11 21:59 ` [PATCH 4/4] isci: add a couple __iomem annotations Dan Williams
@ 2012-07-25 23:08 ` Skirvin, Jeffrey D
  2012-07-26  5:06   ` James Bottomley
  4 siblings, 1 reply; 7+ messages in thread
From: Skirvin, Jeffrey D @ 2012-07-25 23:08 UTC (permalink / raw)
  To: JBottomley; +Cc: linux-scsi


James, is there any update available about the pull of the driver changes that
Dan mentioned?  Please let me know if there is anything we need to do to assist.

Regards,




-----Original Message-----
From: linux-scsi-owner@vger.kernel.org [mailto:linux-scsi-owner@vger.kernel.org] On Behalf Of Dan Williams
Sent: Wednesday, July 11, 2012 2:59 PM
To: JBottomley@parallels.com
Cc: linux-scsi@vger.kernel.org
Subject: [GIT PATCH 0/4] isci update for 3.6

James,

This is the backlog of the libsas indepedent driver changes for 3.6.  Just a
small collection of fixlets.  Please pull, thanks.

--
Dan


The following changes since commit f8f5701bdaf9134b1f90e5044a82c66324d2073f:

  Linux 3.5-rc1 (2012-06-02 18:29:26 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/djbw/isci.git tags/isci-for-3.6

for you to fetch changes up to 6734092e66011def7875bd67beef889d0fee1cc9:

  isci: add a couple __iomem annotations (2012-07-03 12:09:32 -0700)


----------------------------------------------------------------
isci update for 3.6

1/ Fix the workaround for drives that have a slow response to COMSAS.
   Drives with this problem intermittently take a long time to be
   identified, or fail to be identified altogether.

2/ A minor fix for the efi variable code failure path

3/ A handful of smatch fixups from Dan Carpenter

----------------------------------------------------------------
Dan Carpenter (2):
      isci: make function declaration match implementation
      isci: add a couple __iomem annotations

Dan Williams (1):
      isci: fix isci_pci_probe() generates warning on efi failure path

Dave Maurer (1):
      isci: fix COMSAS negation timout workaround for WD SAS drives

 drivers/scsi/isci/host.c                | 2 +-
 drivers/scsi/isci/init.c                | 1 -
 drivers/scsi/isci/phy.c                 | 4 +++-
 drivers/scsi/isci/probe_roms.c          | 1 -
 drivers/scsi/isci/remote_node_context.h | 2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 7+ messages in thread

* RE: [GIT PATCH 0/4] isci update for 3.6
  2012-07-25 23:08 ` [GIT PATCH 0/4] isci update for 3.6 Skirvin, Jeffrey D
@ 2012-07-26  5:06   ` James Bottomley
  0 siblings, 0 replies; 7+ messages in thread
From: James Bottomley @ 2012-07-26  5:06 UTC (permalink / raw)
  To: Skirvin, Jeffrey D; +Cc: linux-scsi

On Wed, 2012-07-25 at 23:08 +0000, Skirvin, Jeffrey D wrote:
> James, is there any update available about the pull of the driver changes that
> Dan mentioned?  Please let me know if there is anything we need to do to assist.

Oh, oops.  When I had to rebase the branches to accommodate Linus' fix
for the async problem, this got lost.  I'll readd it.

James



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2012-07-26  5:06 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-07-11 21:59 [GIT PATCH 0/4] isci update for 3.6 Dan Williams
2012-07-11 21:59 ` [PATCH 1/4] isci: fix isci_pci_probe() generates warning on efi failure path Dan Williams
2012-07-11 21:59 ` [PATCH 2/4] isci: fix COMSAS negation timout workaround for WD SAS drives Dan Williams
2012-07-11 21:59 ` [PATCH 3/4] isci: make function declaration match implementation Dan Williams
2012-07-11 21:59 ` [PATCH 4/4] isci: add a couple __iomem annotations Dan Williams
2012-07-25 23:08 ` [GIT PATCH 0/4] isci update for 3.6 Skirvin, Jeffrey D
2012-07-26  5:06   ` James Bottomley

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.