* libsas: pci_iommu_ops undefined on !PCI @ 2007-07-26 8:31 Meelis Roos 2007-07-26 9:21 ` [PATCH] Remove libsas PCI dependencies Jeff Garzik 0 siblings, 1 reply; 10+ messages in thread From: Meelis Roos @ 2007-07-26 8:31 UTC (permalink / raw) To: Linux Kernel list Tried to compile everythin SCSI on my SBus-only sparc64, including SAS supoort. Seems that libsas seems to depend on PCI - does it need to? MODPOST 446 modules ERROR: "pci_iommu_ops" [drivers/scsi/libsas/libsas.ko] undefined! -- Meelis Roos (mroos@linux.ee) ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH] Remove libsas PCI dependencies 2007-07-26 8:31 libsas: pci_iommu_ops undefined on !PCI Meelis Roos @ 2007-07-26 9:21 ` Jeff Garzik 2007-07-26 12:46 ` James Bottomley 0 siblings, 1 reply; 10+ messages in thread From: Jeff Garzik @ 2007-07-26 9:21 UTC (permalink / raw) To: Meelis Roos, linux-scsi Cc: Linux Kernel list, Darrick J. Wong, James Bottomley, Andrew Morton [-- Attachment #1: Type: text/plain, Size: 436 bytes --] Meelis Roos wrote: > Tried to compile everythin SCSI on my SBus-only sparc64, including SAS > supoort. Seems that libsas seems to depend on PCI - does it need to? > > MODPOST 446 modules > ERROR: "pci_iommu_ops" [drivers/scsi/libsas/libsas.ko] undefined! Does the attached patch fix things? 2.6.23-rc1 material, methinks. libsas should -not- require PCI, even though aic94xx does. Signed-off-by: Jeff Garzik <jeff@garzik.org> [-- Attachment #2: patch --] [-- Type: text/plain, Size: 5914 bytes --] diff --git a/drivers/scsi/aic94xx/aic94xx_init.c b/drivers/scsi/aic94xx/aic94xx_init.c index ab00aec..63bcde2 100644 --- a/drivers/scsi/aic94xx/aic94xx_init.c +++ b/drivers/scsi/aic94xx/aic94xx_init.c @@ -586,7 +586,7 @@ static int __devinit asd_pci_probe(struct pci_dev *dev, goto Err; } asd_ha->pcidev = dev; - asd_ha->sas_ha.pcidev = asd_ha->pcidev; + asd_ha->sas_ha.dev = &asd_ha->pcidev->dev; asd_ha->sas_ha.lldd_ha = asd_ha; asd_ha->name = asd_dev->name; @@ -605,8 +605,6 @@ static int __devinit asd_pci_probe(struct pci_dev *dev, goto Err_free; } - - err = asd_dev->setup(asd_ha); if (err) goto Err_free; diff --git a/drivers/scsi/libsas/sas_ata.c b/drivers/scsi/libsas/sas_ata.c index ced2de3..77c4668 100644 --- a/drivers/scsi/libsas/sas_ata.c +++ b/drivers/scsi/libsas/sas_ata.c @@ -382,7 +382,7 @@ int sas_ata_init_host_and_port(struct domain_device *found_dev, struct ata_port *ap; ata_host_init(&found_dev->sata_dev.ata_host, - &ha->pcidev->dev, + ha->dev, sata_port_info.flags, &sas_sata_ops); ap = ata_sas_port_alloc(&found_dev->sata_dev.ata_host, @@ -448,10 +448,10 @@ static void sas_disc_task_done(struct sas_task *task) * @task: the task to be executed * @buffer: pointer to buffer to do I/O * @size: size of @buffer - * @pci_dma_dir: PCI_DMA_... + * @dma_dir: DMA direction. DMA_xxx */ static int sas_execute_task(struct sas_task *task, void *buffer, int size, - int pci_dma_dir) + int dma_dir) { int res = 0; struct scatterlist *scatter = NULL; @@ -461,7 +461,7 @@ static int sas_execute_task(struct sas_task *task, void *buffer, int size, struct sas_internal *i = to_sas_internal(task->dev->port->ha->core.shost->transportt); - if (pci_dma_dir != PCI_DMA_NONE) { + if (dma_dir != DMA_NONE) { scatter = kzalloc(sizeof(*scatter), GFP_KERNEL); if (!scatter) goto out; @@ -474,11 +474,11 @@ static int sas_execute_task(struct sas_task *task, void *buffer, int size, task->scatter = scatter; task->num_scatter = num_scatter; task->total_xfer_len = size; - task->data_dir = pci_dma_dir; + task->data_dir = dma_dir; task->task_done = sas_disc_task_done; - if (pci_dma_dir != PCI_DMA_NONE && + if (dma_dir != DMA_NONE && sas_protocol_ata(task->task_proto)) { - task->num_scatter = pci_map_sg(task->dev->port->ha->pcidev, + task->num_scatter = dma_map_sg(task->dev->port->ha->dev, task->scatter, task->num_scatter, task->data_dir); @@ -565,9 +565,9 @@ static int sas_execute_task(struct sas_task *task, void *buffer, int size, } } ex_err: - if (pci_dma_dir != PCI_DMA_NONE) { + if (dma_dir != DMA_NONE) { if (sas_protocol_ata(task->task_proto)) - pci_unmap_sg(task->dev->port->ha->pcidev, + dma_unmap_sg(task->dev->port->ha->dev, task->scatter, task->num_scatter, task->data_dir); kfree(scatter); @@ -628,11 +628,11 @@ static void sas_get_ata_command_set(struct domain_device *dev) * @features: the features register * @buffer: pointer to buffer to do I/O * @size: size of @buffer - * @pci_dma_dir: PCI_DMA_... + * @dma_dir: DMA direction. DMA_xxx */ static int sas_issue_ata_cmd(struct domain_device *dev, u8 command, u8 features, void *buffer, int size, - int pci_dma_dir) + int dma_dir) { int res = 0; struct sas_task *task; @@ -652,7 +652,7 @@ static int sas_issue_ata_cmd(struct domain_device *dev, u8 command, task->ata_task.fis.device = d2h_fis->device; task->ata_task.retry_count = 1; - res = sas_execute_task(task, buffer, size, pci_dma_dir); + res = sas_execute_task(task, buffer, size, dma_dir); sas_free_task(task); out: @@ -707,7 +707,7 @@ static int sas_discover_sata_dev(struct domain_device *dev) } res = sas_issue_ata_cmd(dev, command, 0, identify_x, 512, - PCI_DMA_FROMDEVICE); + DMA_FROM_DEVICE); if (res) goto out_err; @@ -720,13 +720,13 @@ static int sas_discover_sata_dev(struct domain_device *dev) goto cont1; res = sas_issue_ata_cmd(dev, ATA_SET_FEATURES, ATA_FEATURE_PUP_STBY_SPIN_UP, - NULL, 0, PCI_DMA_NONE); + NULL, 0, DMA_NONE); if (res) goto cont1; schedule_timeout_interruptible(5*HZ); /* More time? */ res = sas_issue_ata_cmd(dev, command, 0, identify_x, 512, - PCI_DMA_FROMDEVICE); + DMA_FROM_DEVICE); if (res) goto out_err; } diff --git a/drivers/scsi/libsas/sas_discover.c b/drivers/scsi/libsas/sas_discover.c index 6ac9f61..7ef0afc 100644 --- a/drivers/scsi/libsas/sas_discover.c +++ b/drivers/scsi/libsas/sas_discover.c @@ -22,7 +22,6 @@ * */ -#include <linux/pci.h> #include <linux/scatterlist.h> #include <scsi/scsi_host.h> #include <scsi/scsi_eh.h> @@ -170,7 +169,7 @@ int sas_notify_lldd_dev_found(struct domain_device *dev) if (res) { printk("sas: driver on pcidev %s cannot handle " "device %llx, error:%d\n", - pci_name(sas_ha->pcidev), + sas_ha->dev->bus_id, SAS_ADDR(dev->sas_addr), res); } } diff --git a/drivers/scsi/libsas/sas_dump.c b/drivers/scsi/libsas/sas_dump.c index f1246d2..bf34a23 100644 --- a/drivers/scsi/libsas/sas_dump.c +++ b/drivers/scsi/libsas/sas_dump.c @@ -56,7 +56,7 @@ void sas_dprint_phye(int phyid, enum phy_event pe) void sas_dprint_hae(struct sas_ha_struct *sas_ha, enum ha_event he) { - SAS_DPRINTK("ha %s: %s event\n", pci_name(sas_ha->pcidev), + SAS_DPRINTK("ha %s: %s event\n", sas_ha->dev->bus_id, sas_hae_str[he]); } diff --git a/include/scsi/libsas.h b/include/scsi/libsas.h index df36461..8dda2d6 100644 --- a/include/scsi/libsas.h +++ b/include/scsi/libsas.h @@ -348,7 +348,7 @@ struct sas_ha_struct { /* public: */ char *sas_ha_name; - struct pci_dev *pcidev; /* should be set */ + struct device *dev; /* should be set */ struct module *lldd_module; /* should be set */ u8 *sas_addr; /* must be set */ ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH] Remove libsas PCI dependencies 2007-07-26 9:21 ` [PATCH] Remove libsas PCI dependencies Jeff Garzik @ 2007-07-26 12:46 ` James Bottomley 2007-07-26 13:06 ` Matthew Wilcox ` (2 more replies) 0 siblings, 3 replies; 10+ messages in thread From: James Bottomley @ 2007-07-26 12:46 UTC (permalink / raw) To: Jeff Garzik Cc: Meelis Roos, linux-scsi, Linux Kernel list, Darrick J. Wong, Andrew Morton On Thu, 2007-07-26 at 05:21 -0400, Jeff Garzik wrote: > Meelis Roos wrote: > > Tried to compile everythin SCSI on my SBus-only sparc64, including SAS > > supoort. Seems that libsas seems to depend on PCI - does it need to? > > > > MODPOST 446 modules > > ERROR: "pci_iommu_ops" [drivers/scsi/libsas/libsas.ko] undefined! > > > Does the attached patch fix things? 2.6.23-rc1 material, methinks. > > libsas should -not- require PCI, even though aic94xx does. Realistically, even for parisc, I can't see anyone producing a non-PCI SAS device (even though I'd like one). > Signed-off-by: Jeff Garzik <jeff@garzik.org> > > plain text document attachment (patch) > diff --git a/drivers/scsi/aic94xx/aic94xx_init.c b/drivers/scsi/aic94xx/aic94xx_init.c > index ab00aec..63bcde2 100644 > --- a/drivers/scsi/aic94xx/aic94xx_init.c > +++ b/drivers/scsi/aic94xx/aic94xx_init.c > @@ -586,7 +586,7 @@ static int __devinit asd_pci_probe(struct pci_dev *dev, > goto Err; > } > asd_ha->pcidev = dev; > - asd_ha->sas_ha.pcidev = asd_ha->pcidev; > + asd_ha->sas_ha.dev = &asd_ha->pcidev->dev; > asd_ha->sas_ha.lldd_ha = asd_ha; > > asd_ha->name = asd_dev->name; > @@ -605,8 +605,6 @@ static int __devinit asd_pci_probe(struct pci_dev *dev, > goto Err_free; > } > > - > - > err = asd_dev->setup(asd_ha); > if (err) > goto Err_free; > diff --git a/drivers/scsi/libsas/sas_ata.c b/drivers/scsi/libsas/sas_ata.c > index ced2de3..77c4668 100644 > --- a/drivers/scsi/libsas/sas_ata.c > +++ b/drivers/scsi/libsas/sas_ata.c > @@ -382,7 +382,7 @@ int sas_ata_init_host_and_port(struct domain_device *found_dev, > struct ata_port *ap; > > ata_host_init(&found_dev->sata_dev.ata_host, > - &ha->pcidev->dev, > + ha->dev, > sata_port_info.flags, > &sas_sata_ops); > ap = ata_sas_port_alloc(&found_dev->sata_dev.ata_host, > @@ -448,10 +448,10 @@ static void sas_disc_task_done(struct sas_task *task) > * @task: the task to be executed > * @buffer: pointer to buffer to do I/O > * @size: size of @buffer > - * @pci_dma_dir: PCI_DMA_... > + * @dma_dir: DMA direction. DMA_xxx > */ > static int sas_execute_task(struct sas_task *task, void *buffer, int size, > - int pci_dma_dir) > + int dma_dir) > { > int res = 0; > struct scatterlist *scatter = NULL; > @@ -461,7 +461,7 @@ static int sas_execute_task(struct sas_task *task, void *buffer, int size, > struct sas_internal *i = > to_sas_internal(task->dev->port->ha->core.shost->transportt); > > - if (pci_dma_dir != PCI_DMA_NONE) { > + if (dma_dir != DMA_NONE) { > scatter = kzalloc(sizeof(*scatter), GFP_KERNEL); > if (!scatter) > goto out; > @@ -474,11 +474,11 @@ static int sas_execute_task(struct sas_task *task, void *buffer, int size, > task->scatter = scatter; > task->num_scatter = num_scatter; > task->total_xfer_len = size; > - task->data_dir = pci_dma_dir; > + task->data_dir = dma_dir; > task->task_done = sas_disc_task_done; > - if (pci_dma_dir != PCI_DMA_NONE && > + if (dma_dir != DMA_NONE && > sas_protocol_ata(task->task_proto)) { > - task->num_scatter = pci_map_sg(task->dev->port->ha->pcidev, > + task->num_scatter = dma_map_sg(task->dev->port->ha->dev, > task->scatter, > task->num_scatter, > task->data_dir); > @@ -565,9 +565,9 @@ static int sas_execute_task(struct sas_task *task, void *buffer, int size, > } > } > ex_err: > - if (pci_dma_dir != PCI_DMA_NONE) { > + if (dma_dir != DMA_NONE) { > if (sas_protocol_ata(task->task_proto)) > - pci_unmap_sg(task->dev->port->ha->pcidev, > + dma_unmap_sg(task->dev->port->ha->dev, > task->scatter, task->num_scatter, > task->data_dir); > kfree(scatter); > @@ -628,11 +628,11 @@ static void sas_get_ata_command_set(struct domain_device *dev) > * @features: the features register > * @buffer: pointer to buffer to do I/O > * @size: size of @buffer > - * @pci_dma_dir: PCI_DMA_... > + * @dma_dir: DMA direction. DMA_xxx > */ > static int sas_issue_ata_cmd(struct domain_device *dev, u8 command, > u8 features, void *buffer, int size, > - int pci_dma_dir) > + int dma_dir) This should become enum dma_data_direction if we're going to go the generic route. Otherwise, everything else looks fine. James ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] Remove libsas PCI dependencies 2007-07-26 12:46 ` James Bottomley @ 2007-07-26 13:06 ` Matthew Wilcox 2007-07-26 13:28 ` [PATCH v2] " Jeff Garzik 2007-07-26 13:30 ` [PATCH] " Jeff Garzik 2 siblings, 0 replies; 10+ messages in thread From: Matthew Wilcox @ 2007-07-26 13:06 UTC (permalink / raw) To: James Bottomley Cc: Jeff Garzik, Meelis Roos, linux-scsi, Linux Kernel list, Darrick J. Wong, Andrew Morton On Thu, Jul 26, 2007 at 08:46:47AM -0400, James Bottomley wrote: > On Thu, 2007-07-26 at 05:21 -0400, Jeff Garzik wrote: > > libsas should -not- require PCI, even though aic94xx does. > > Realistically, even for parisc, I can't see anyone producing a non-PCI > SAS device (even though I'd like one). While SBUS, GSC, VME, ISA, EISA, MCA, VL, PCMCIA, TurboChannel and Zorro all seem pretty unlikely, I could see someone producing a RapidIO device. -- "Bill, look, we understand that you're interested in selling us this operating system, but compare it to ours. We can't possibly take such a retrograde step." ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v2] Remove libsas PCI dependencies 2007-07-26 12:46 ` James Bottomley 2007-07-26 13:06 ` Matthew Wilcox @ 2007-07-26 13:28 ` Jeff Garzik 2007-07-26 17:31 ` Meelis Roos 2007-07-26 13:30 ` [PATCH] " Jeff Garzik 2 siblings, 1 reply; 10+ messages in thread From: Jeff Garzik @ 2007-07-26 13:28 UTC (permalink / raw) To: James Bottomley Cc: Meelis Roos, linux-scsi, Linux Kernel list, Darrick J. Wong, Andrew Morton [-- Attachment #1: Type: text/plain, Size: 167 bytes --] Eliminate unnecessary PCI dependencies in libsas. It should use generic DMA and struct device like other subsystems. Signed-off-by: Jeff Garzik <jeff@garzik.org> [-- Attachment #2: patch --] [-- Type: text/plain, Size: 5954 bytes --] diff --git a/drivers/scsi/aic94xx/aic94xx_init.c b/drivers/scsi/aic94xx/aic94xx_init.c index ab00aec..63bcde2 100644 --- a/drivers/scsi/aic94xx/aic94xx_init.c +++ b/drivers/scsi/aic94xx/aic94xx_init.c @@ -586,7 +586,7 @@ static int __devinit asd_pci_probe(struct pci_dev *dev, goto Err; } asd_ha->pcidev = dev; - asd_ha->sas_ha.pcidev = asd_ha->pcidev; + asd_ha->sas_ha.dev = &asd_ha->pcidev->dev; asd_ha->sas_ha.lldd_ha = asd_ha; asd_ha->name = asd_dev->name; @@ -605,8 +605,6 @@ static int __devinit asd_pci_probe(struct pci_dev *dev, goto Err_free; } - - err = asd_dev->setup(asd_ha); if (err) goto Err_free; diff --git a/drivers/scsi/libsas/sas_ata.c b/drivers/scsi/libsas/sas_ata.c index ced2de3..5e573ef 100644 --- a/drivers/scsi/libsas/sas_ata.c +++ b/drivers/scsi/libsas/sas_ata.c @@ -382,7 +382,7 @@ int sas_ata_init_host_and_port(struct domain_device *found_dev, struct ata_port *ap; ata_host_init(&found_dev->sata_dev.ata_host, - &ha->pcidev->dev, + ha->dev, sata_port_info.flags, &sas_sata_ops); ap = ata_sas_port_alloc(&found_dev->sata_dev.ata_host, @@ -448,10 +448,10 @@ static void sas_disc_task_done(struct sas_task *task) * @task: the task to be executed * @buffer: pointer to buffer to do I/O * @size: size of @buffer - * @pci_dma_dir: PCI_DMA_... + * @dma_dir: DMA direction. DMA_xxx */ static int sas_execute_task(struct sas_task *task, void *buffer, int size, - int pci_dma_dir) + enum dma_data_direction dma_dir) { int res = 0; struct scatterlist *scatter = NULL; @@ -461,7 +461,7 @@ static int sas_execute_task(struct sas_task *task, void *buffer, int size, struct sas_internal *i = to_sas_internal(task->dev->port->ha->core.shost->transportt); - if (pci_dma_dir != PCI_DMA_NONE) { + if (dma_dir != DMA_NONE) { scatter = kzalloc(sizeof(*scatter), GFP_KERNEL); if (!scatter) goto out; @@ -474,11 +474,11 @@ static int sas_execute_task(struct sas_task *task, void *buffer, int size, task->scatter = scatter; task->num_scatter = num_scatter; task->total_xfer_len = size; - task->data_dir = pci_dma_dir; + task->data_dir = dma_dir; task->task_done = sas_disc_task_done; - if (pci_dma_dir != PCI_DMA_NONE && + if (dma_dir != DMA_NONE && sas_protocol_ata(task->task_proto)) { - task->num_scatter = pci_map_sg(task->dev->port->ha->pcidev, + task->num_scatter = dma_map_sg(task->dev->port->ha->dev, task->scatter, task->num_scatter, task->data_dir); @@ -565,9 +565,9 @@ static int sas_execute_task(struct sas_task *task, void *buffer, int size, } } ex_err: - if (pci_dma_dir != PCI_DMA_NONE) { + if (dma_dir != DMA_NONE) { if (sas_protocol_ata(task->task_proto)) - pci_unmap_sg(task->dev->port->ha->pcidev, + dma_unmap_sg(task->dev->port->ha->dev, task->scatter, task->num_scatter, task->data_dir); kfree(scatter); @@ -628,11 +628,11 @@ static void sas_get_ata_command_set(struct domain_device *dev) * @features: the features register * @buffer: pointer to buffer to do I/O * @size: size of @buffer - * @pci_dma_dir: PCI_DMA_... + * @dma_dir: DMA direction. DMA_xxx */ static int sas_issue_ata_cmd(struct domain_device *dev, u8 command, u8 features, void *buffer, int size, - int pci_dma_dir) + enum dma_data_direction dma_dir) { int res = 0; struct sas_task *task; @@ -652,7 +652,7 @@ static int sas_issue_ata_cmd(struct domain_device *dev, u8 command, task->ata_task.fis.device = d2h_fis->device; task->ata_task.retry_count = 1; - res = sas_execute_task(task, buffer, size, pci_dma_dir); + res = sas_execute_task(task, buffer, size, dma_dir); sas_free_task(task); out: @@ -707,7 +707,7 @@ static int sas_discover_sata_dev(struct domain_device *dev) } res = sas_issue_ata_cmd(dev, command, 0, identify_x, 512, - PCI_DMA_FROMDEVICE); + DMA_FROM_DEVICE); if (res) goto out_err; @@ -720,13 +720,13 @@ static int sas_discover_sata_dev(struct domain_device *dev) goto cont1; res = sas_issue_ata_cmd(dev, ATA_SET_FEATURES, ATA_FEATURE_PUP_STBY_SPIN_UP, - NULL, 0, PCI_DMA_NONE); + NULL, 0, DMA_NONE); if (res) goto cont1; schedule_timeout_interruptible(5*HZ); /* More time? */ res = sas_issue_ata_cmd(dev, command, 0, identify_x, 512, - PCI_DMA_FROMDEVICE); + DMA_FROM_DEVICE); if (res) goto out_err; } diff --git a/drivers/scsi/libsas/sas_discover.c b/drivers/scsi/libsas/sas_discover.c index 6ac9f61..7ef0afc 100644 --- a/drivers/scsi/libsas/sas_discover.c +++ b/drivers/scsi/libsas/sas_discover.c @@ -22,7 +22,6 @@ * */ -#include <linux/pci.h> #include <linux/scatterlist.h> #include <scsi/scsi_host.h> #include <scsi/scsi_eh.h> @@ -170,7 +169,7 @@ int sas_notify_lldd_dev_found(struct domain_device *dev) if (res) { printk("sas: driver on pcidev %s cannot handle " "device %llx, error:%d\n", - pci_name(sas_ha->pcidev), + sas_ha->dev->bus_id, SAS_ADDR(dev->sas_addr), res); } } diff --git a/drivers/scsi/libsas/sas_dump.c b/drivers/scsi/libsas/sas_dump.c index f1246d2..bf34a23 100644 --- a/drivers/scsi/libsas/sas_dump.c +++ b/drivers/scsi/libsas/sas_dump.c @@ -56,7 +56,7 @@ void sas_dprint_phye(int phyid, enum phy_event pe) void sas_dprint_hae(struct sas_ha_struct *sas_ha, enum ha_event he) { - SAS_DPRINTK("ha %s: %s event\n", pci_name(sas_ha->pcidev), + SAS_DPRINTK("ha %s: %s event\n", sas_ha->dev->bus_id, sas_hae_str[he]); } diff --git a/include/scsi/libsas.h b/include/scsi/libsas.h index df36461..8dda2d6 100644 --- a/include/scsi/libsas.h +++ b/include/scsi/libsas.h @@ -348,7 +348,7 @@ struct sas_ha_struct { /* public: */ char *sas_ha_name; - struct pci_dev *pcidev; /* should be set */ + struct device *dev; /* should be set */ struct module *lldd_module; /* should be set */ u8 *sas_addr; /* must be set */ ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v2] Remove libsas PCI dependencies 2007-07-26 13:28 ` [PATCH v2] " Jeff Garzik @ 2007-07-26 17:31 ` Meelis Roos 2007-07-26 17:46 ` Jeff Garzik 0 siblings, 1 reply; 10+ messages in thread From: Meelis Roos @ 2007-07-26 17:31 UTC (permalink / raw) To: Jeff Garzik Cc: James Bottomley, linux-scsi, Linux Kernel list, Darrick J. Wong, Andrew Morton > Eliminate unnecessary PCI dependencies in libsas. It should use generic DMA > and struct device like other subsystems. Compiles fine, unfortunately I can not test kernels on this machine since I have yet to dig out the reason my kernels do not boot. -- Meelis Roos (mroos@linux.ee) ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2] Remove libsas PCI dependencies 2007-07-26 17:31 ` Meelis Roos @ 2007-07-26 17:46 ` Jeff Garzik 2007-07-26 17:51 ` Meelis Roos 2007-07-26 18:05 ` James Bottomley 0 siblings, 2 replies; 10+ messages in thread From: Jeff Garzik @ 2007-07-26 17:46 UTC (permalink / raw) To: Meelis Roos Cc: James Bottomley, linux-scsi, Linux Kernel list, Darrick J. Wong, Andrew Morton Meelis Roos wrote: >> Eliminate unnecessary PCI dependencies in libsas. It should use generic DMA >> and struct device like other subsystems. > > Compiles fine, unfortunately I can not test kernels on this machine > since I have yet to dig out the reason my kernels do not boot. That's about the best we can ask for :) Thanks. I'm pretty sure you do not have any SAS hardware in your sparc32... Jeff ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2] Remove libsas PCI dependencies 2007-07-26 17:46 ` Jeff Garzik @ 2007-07-26 17:51 ` Meelis Roos 2007-07-26 18:05 ` James Bottomley 1 sibling, 0 replies; 10+ messages in thread From: Meelis Roos @ 2007-07-26 17:51 UTC (permalink / raw) To: Jeff Garzik Cc: James Bottomley, linux-scsi, Linux Kernel list, Darrick J. Wong, Andrew Morton > > Compiles fine, unfortunately I can not test kernels on this machine since I > > have yet to dig out the reason my kernels do not boot. > > That's about the best we can ask for :) Thanks. I'm pretty sure you do not > have any SAS hardware in your sparc32... Nope, this is a differnet computer - SBus-only Ultra 1 with sparc64 architecture. The test I meant to do but could't was to load the libsas module. -- Meelis Roos (mroos@linux.ee) ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2] Remove libsas PCI dependencies 2007-07-26 17:46 ` Jeff Garzik 2007-07-26 17:51 ` Meelis Roos @ 2007-07-26 18:05 ` James Bottomley 1 sibling, 0 replies; 10+ messages in thread From: James Bottomley @ 2007-07-26 18:05 UTC (permalink / raw) To: Jeff Garzik Cc: Meelis Roos, linux-scsi, Linux Kernel list, Darrick J. Wong, Andrew Morton On Thu, 2007-07-26 at 13:46 -0400, Jeff Garzik wrote: > Meelis Roos wrote: > >> Eliminate unnecessary PCI dependencies in libsas. It should use generic DMA > >> and struct device like other subsystems. > > > > Compiles fine, unfortunately I can not test kernels on this machine > > since I have yet to dig out the reason my kernels do not boot. > > That's about the best we can ask for :) Thanks. I'm pretty sure you do > not have any SAS hardware in your sparc32... I've tested it on aic94xx. James ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] Remove libsas PCI dependencies 2007-07-26 12:46 ` James Bottomley 2007-07-26 13:06 ` Matthew Wilcox 2007-07-26 13:28 ` [PATCH v2] " Jeff Garzik @ 2007-07-26 13:30 ` Jeff Garzik 2 siblings, 0 replies; 10+ messages in thread From: Jeff Garzik @ 2007-07-26 13:30 UTC (permalink / raw) To: James Bottomley Cc: Meelis Roos, linux-scsi, Linux Kernel list, Darrick J. Wong, Andrew Morton James Bottomley wrote: > Realistically, even for parisc, I can't see anyone producing a non-PCI > SAS device (even though I'd like one). A non-PCI device embedded on an SoC or system bus is highly -likely-, IMO. SAS+SATA silicon (w/out firmware assist as with aic94xx) is the direction that Marvell and Broadcom have gone. I would say it's practically inevitable that someone will embed a SAS+SATA chip eventually. > This should become enum dma_data_direction if we're going to go the > generic route. Updated. Jeff ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2007-07-26 18:06 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2007-07-26 8:31 libsas: pci_iommu_ops undefined on !PCI Meelis Roos 2007-07-26 9:21 ` [PATCH] Remove libsas PCI dependencies Jeff Garzik 2007-07-26 12:46 ` James Bottomley 2007-07-26 13:06 ` Matthew Wilcox 2007-07-26 13:28 ` [PATCH v2] " Jeff Garzik 2007-07-26 17:31 ` Meelis Roos 2007-07-26 17:46 ` Jeff Garzik 2007-07-26 17:51 ` Meelis Roos 2007-07-26 18:05 ` James Bottomley 2007-07-26 13:30 ` [PATCH] " Jeff Garzik
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox