hpsa.c (76c46e4970f7ee6d8c54220a767e93d67b74cd33) | hpsa.c (f7c391015ab64c835a9bb403626b38a51d6432cc) |
---|---|
1/* 2 * Disk Array driver for HP Smart Array SAS controllers 3 * Copyright 2000, 2009 Hewlett-Packard Development Company, L.P. 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation; version 2 of the License. 8 * --- 3370 unchanged lines hidden (view full) --- 3379 (readb(&h->cfgtable->Signature[2]) != 'S') || 3380 (readb(&h->cfgtable->Signature[3]) != 'S')) { 3381 dev_warn(&h->pdev->dev, "not a valid CISS config table\n"); 3382 return false; 3383 } 3384 return true; 3385} 3386 | 1/* 2 * Disk Array driver for HP Smart Array SAS controllers 3 * Copyright 2000, 2009 Hewlett-Packard Development Company, L.P. 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation; version 2 of the License. 8 * --- 3370 unchanged lines hidden (view full) --- 3379 (readb(&h->cfgtable->Signature[2]) != 'S') || 3380 (readb(&h->cfgtable->Signature[3]) != 'S')) { 3381 dev_warn(&h->pdev->dev, "not a valid CISS config table\n"); 3382 return false; 3383 } 3384 return true; 3385} 3386 |
3387/* Need to enable prefetch in the SCSI core for 6400 in x86 */ 3388static inline void hpsa_enable_scsi_prefetch(struct ctlr_info *h) 3389{ 3390#ifdef CONFIG_X86 3391 u32 prefetch; 3392 3393 prefetch = readl(&(h->cfgtable->SCSI_Prefetch)); 3394 prefetch |= 0x100; 3395 writel(prefetch, &(h->cfgtable->SCSI_Prefetch)); 3396#endif 3397} 3398 |
|
3387static int __devinit hpsa_pci_init(struct ctlr_info *h) 3388{ 3389 int i, prod_index, err; 3390 3391 prod_index = hpsa_lookup_board_id(h->pdev, &h->board_id); 3392 if (prod_index < 0) 3393 return -ENODEV; 3394 h->product_name = products[prod_index].product_name; --- 31 unchanged lines hidden (view full) --- 3426 if (err) 3427 goto err_out_free_res; 3428 hpsa_find_board_params(h); 3429 3430 if (!hpsa_CISS_signature_present(h)) { 3431 err = -ENODEV; 3432 goto err_out_free_res; 3433 } | 3399static int __devinit hpsa_pci_init(struct ctlr_info *h) 3400{ 3401 int i, prod_index, err; 3402 3403 prod_index = hpsa_lookup_board_id(h->pdev, &h->board_id); 3404 if (prod_index < 0) 3405 return -ENODEV; 3406 h->product_name = products[prod_index].product_name; --- 31 unchanged lines hidden (view full) --- 3438 if (err) 3439 goto err_out_free_res; 3440 hpsa_find_board_params(h); 3441 3442 if (!hpsa_CISS_signature_present(h)) { 3443 err = -ENODEV; 3444 goto err_out_free_res; 3445 } |
3434#ifdef CONFIG_X86 3435 { 3436 /* Need to enable prefetch in the SCSI core for 6400 in x86 */ 3437 u32 prefetch; 3438 prefetch = readl(&(h->cfgtable->SCSI_Prefetch)); 3439 prefetch |= 0x100; 3440 writel(prefetch, &(h->cfgtable->SCSI_Prefetch)); 3441 } 3442#endif | 3446 hpsa_enable_scsi_prefetch(h); |
3443 3444 /* Disabling DMA prefetch for the P600 3445 * An ASIC bug may result in a prefetch beyond 3446 * physical memory. 3447 */ 3448 if (h->board_id == 0x3225103C) { 3449 u32 dma_prefetch; 3450 dma_prefetch = readl(h->vaddr + I2O_DMA1_CFG); --- 440 unchanged lines hidden --- | 3447 3448 /* Disabling DMA prefetch for the P600 3449 * An ASIC bug may result in a prefetch beyond 3450 * physical memory. 3451 */ 3452 if (h->board_id == 0x3225103C) { 3453 u32 dma_prefetch; 3454 dma_prefetch = readl(h->vaddr + I2O_DMA1_CFG); --- 440 unchanged lines hidden --- |