mirror of
https://github.com/torvalds/linux.git
synced 2024-11-08 21:21:47 +00:00
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 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iQIcBAABAgAGBQJP/GIxAAoJEB7SkWpmfYgCVW8P/iW9RkFx1yNCJGrWYzD/1/TC HtiO0AYbJQejc7LP04AtbU1+EeH8S13SN1zyWCQIFN+dpxZmTv4mGEUY5Kp91SRf vttWVqFlkLm2w8+K3Thp31UZWmNFyHguWGCoDQtKfTj3byZoaw7pLEv1KdrKnCbL q0Mu+Dbsp/GcuulCumjVrGoxMUv++1McVgcqu/Loa2RU5eActGAkJmJpYpZS12uI HPy/DcQKY0afpcIjNnavwxufqYcCupg5km6gkIsglQGecra7xAL5GICQG8vGYR6m yt7mK0P8UdNA8r2O64UWstKRwZRn6McabxJoL/ZjYhyap7i1kbGBfu3wXLgqQp+E L0I5SCDlJm159GDId6cU6XPdWiKvVKaofC5XvAjG5gQZZonqNhdQDqBTfk2+bawF QEE0tSK6/fTWOS3TaVehmLQjgp7t+4EzBj3P1YfyEBqDh7xEsAjUJKfgyvWdkgDy MGIPD95e6EAg1NxWpWg1GOdHV33y+Lh16xCj2wjWVQfqkr6CE04Av65kQp/QKlPI fMXPtUvgp+f0+Pvpo3iviBQSh++fBl3iFkOmEDGlNAi0C56SW3rW2U+0GYMGHhEp U9FXCBHTjlVEb05/ee7I9tRSFM30w/zRjXY6ubGtyP/MIzYCjvyAEm2Hc5LjhIwA HNHI8ehCaNywVCFoqCyu =pwks -----END PGP SIGNATURE----- Merge tag 'isci-for-3.6' into for-next 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
This commit is contained in:
commit
1c4cf1d584
@ -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);
|
||||
|
@ -644,7 +644,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;
|
||||
}
|
||||
|
@ -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;
|
||||
@ -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));
|
||||
|
@ -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);
|
||||
|
@ -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,
|
||||
|
Loading…
Reference in New Issue
Block a user