* [parisc-linux] Re: kernel>=2.6.4-rc3 hung or panic on C1[18]0 @ 2004-04-26 16:52 Joel Soete 2004-04-26 17:11 ` Grant Grundler 0 siblings, 1 reply; 4+ messages in thread From: Joel Soete @ 2004-04-26 16:52 UTC (permalink / raw) To: Grant Grundler; +Cc: parisc-linux Hi all, I know it shouldn't be the source of the pb but btw I noticed: > ncr53c8xx.c:7594: u_long baddr = map_scsi_single_data(np, cmd); cmd is a "struct scsi_cmnd *" (the parameter of ncr_scatter) > sym53c8xx_comm.h:699:static int __map_scsi_sg_data(struct device *dev, Scsi_Cmnd *cmd) ... sym53c8xx_comm.h:708: use_sg = dma_map_sg(dev, cmd->buffer, cmd->use_sg, dma_dir); and here cmd is a "Scsi_Cmnd *" which is so of different type because of "typedef struct scsi_cmnd Scsi_Cmnd" What should it be done? Thanks in advance for your attention, Joel ---------------------------------------------------------------------------------------- Tiscali ADSL: 35 /mois, la meilleure offre du marché! http://reg.tiscali.be/default.asp?lg=fr ^ permalink raw reply [flat|nested] 4+ messages in thread
* [parisc-linux] Re: kernel>=2.6.4-rc3 hung or panic on C1[18]0 2004-04-26 16:52 [parisc-linux] Re: kernel>=2.6.4-rc3 hung or panic on C1[18]0 Joel Soete @ 2004-04-26 17:11 ` Grant Grundler 0 siblings, 0 replies; 4+ messages in thread From: Grant Grundler @ 2004-04-26 17:11 UTC (permalink / raw) To: Joel Soete; +Cc: parisc-linux On Mon, Apr 26, 2004 at 06:52:40PM +0200, Joel Soete wrote: > and here cmd is a "Scsi_Cmnd *" which is so of different type because of > "typedef struct scsi_cmnd Scsi_Cmnd" uhm...the typedef says Scsi_Cmnd *IS* struct scsi_cmnd. Therefor "Scsi_Cmnd *" is the same type as "struct scsi_cmnd *". > What should it be done? Get rid of Scsi_Cmnd typedef? I personally consider it bad style to use both forms in the same subsystem and don't really care which is used. But that's an issue for the subsystem maintainer to decide. :^) grant ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [parisc-linux] Re: kernel>=2.6.4-rc3 hung or panic on C1[18]0 [was: 2.6.5-rc2-pa2 boot panic on c110 :(]
@ 2004-04-19 16:53 Joel Soete
[not found] ` <408AD395.4060909@tiscali.be>
0 siblings, 1 reply; 4+ messages in thread
From: Joel Soete @ 2004-04-19 16:53 UTC (permalink / raw)
To: James Bottomley; +Cc: PARISC list, Andy Walker
James ,
Thanks to your explanation, I become to have (step by step) a more detail
idea on what I did and its borther effect. (still have to confirm by test
:^)
>coalescing, so our SG lists were usually lots of page sized entities.
>Now the individual entries can be up to 256k long.
Just to be sure we spoke about the same thing:
256k for you is it well the parisc_vmerge_max_size = IOVP_SIZE * BITS_PER_LONG?
as IOVP == PAGE_SIZE == 4k and BITS_PER_LONG == 32 for a 32bits kernel, so
parisc_vmerge_max_size= 128k
and BITS_PER_LONG == 64 for 64bit kernel, so parisc_vmerge_max_size= 256k.
Thanks in advance,
Joel
PS: btw in dma.h I found "#define DMA_CHUNK_SIZE (BITS_PER_LONG*PAGE_SIZE)";
couldn't it used in ccio-dma.c and sba-iommu.c in parisc_vmerge_max_size
assignement?
----------------------------------------------------------------------------------------
Tiscali ADSL: 35 /mois, la meilleure offre du marché!
http://reg.tiscali.be/default.asp?lg=fr
^ permalink raw reply [flat|nested] 4+ messages in thread[parent not found: <408AD395.4060909@tiscali.be>]
* [parisc-linux] Re: kernel>=2.6.4-rc3 hung or panic on C1[18]0 [not found] ` <408AD395.4060909@tiscali.be> @ 2004-04-24 22:19 ` Grant Grundler 2004-04-24 22:31 ` Joel Soete 0 siblings, 1 reply; 4+ messages in thread From: Grant Grundler @ 2004-04-24 22:19 UTC (permalink / raw) To: Joel Soete; +Cc: parisc-linux On Sat, Apr 24, 2004 at 08:52:37PM +0000, Joel Soete wrote: > Hello Grant, > > Sorry in advance to disturbe you with this c110 pb but if I well understand > the physical connection (fine doc find on openpa.net :) and better > understand what james means, otc I past the full last week to study more > ccio-dma and ncr53c8xx but I don't reach to locate the part of code making > the link between those 2 part (i mean where ncr call ccio and visversa). > Could you help me a bit more. Yup. Using 2.6.5-pa8 source tree, ncr53c8xx.c calls DMA services from ncr_scatter(): ncr53c8xx.c:7594: u_long baddr = map_scsi_single_data(np, cmd); sym53c8xx_comm.h:699:static int __map_scsi_sg_data(struct device *dev, Scsi_Cmnd *cmd) ... sym53c8xx_comm.h:708: use_sg = dma_map_sg(dev, cmd->buffer, cmd->use_sg, dma_dir); asm/dma-mapping.h:91:static inline int asm/dma-mapping.h:92:dma_map_sg(struct device *dev, struct scatterlist *sg, int nents, asm/dma-mapping.h:93: enum dma_data_direction direction) asm/dma-mapping.h:94:{ asm/dma-mapping.h:95: return hppa_dma_ops->map_sg(dev, sg, nents, direction); asm/dma-mapping.h:96:} Then search for hppa_dma_ops in arch/parisc/kernel/* and drivers/parisc/*.c to locate the various platform/chipset DMA support: grundler <553>fgrep -n hppa_dma_ops arch/parisc/kernel/*c drivers/parisc/* arch/parisc/kernel/drivers.c:30:struct hppa_dma_ops *hppa_dma_ops; arch/parisc/kernel/drivers.c:31:EXPORT_SYMBOL(hppa_dma_ops); arch/parisc/kernel/pci-dma.c:492:struct hppa_dma_ops pcxl_dma_ops = { arch/parisc/kernel/pci-dma.c:533:struct hppa_dma_ops pcx_dma_ops = { arch/parisc/kernel/setup.c:96: hppa_dma_ops = &pcx_dma_ops; arch/parisc/kernel/setup.c:101: hppa_dma_ops = &pcxl_dma_ops; drivers/parisc/ccio-dma.c:1009:static struct hppa_dma_ops ccio_ops = { drivers/parisc/ccio-dma.c:1545: hppa_dma_ops = &ccio_ops; drivers/parisc/ccio-rm-dma.c:183: hppa_dma_ops = &ccio_ops; drivers/parisc/sba_iommu.c:1177:static struct hppa_dma_ops sba_ops = { drivers/parisc/sba_iommu.c:1809: hppa_dma_ops = &sba_ops; Ideally, "make" would detect when support for only one chipset is needed and just do away with hppa_dma_ops completely (ie directly call into the chipset specific function). > Thanks in advance, > Joel > > PS: btw I noticed that ncr_attach() is still prefix by __init where > sym_attach() is now prefix by __devinit. I trust it is important but could > it be the simple reason of pb encounter? IIRC, the difference is for hotplug. __devinit section is preserved when CONFIG_HOTPLUG is enabled. See linux/Documentation/pci.txt for the real description. grant ^ permalink raw reply [flat|nested] 4+ messages in thread
* [parisc-linux] Re: kernel>=2.6.4-rc3 hung or panic on C1[18]0 2004-04-24 22:19 ` [parisc-linux] Re: kernel>=2.6.4-rc3 hung or panic on C1[18]0 Grant Grundler @ 2004-04-24 22:31 ` Joel Soete 0 siblings, 0 replies; 4+ messages in thread From: Joel Soete @ 2004-04-24 22:31 UTC (permalink / raw) To: Grant Grundler; +Cc: parisc-linux Grant Grundler wrote: > On Sat, Apr 24, 2004 at 08:52:37PM +0000, Joel Soete wrote: > >>Hello Grant, >> >>Sorry in advance to disturbe you with this c110 pb but if I well understand >>the physical connection (fine doc find on openpa.net :) and better >>understand what james means, otc I past the full last week to study more >>ccio-dma and ncr53c8xx but I don't reach to locate the part of code making >> the link between those 2 part (i mean where ncr call ccio and visversa). >> Could you help me a bit more. > > > Yup. Using 2.6.5-pa8 source tree, ncr53c8xx.c calls DMA services from > ncr_scatter(): > > ncr53c8xx.c:7594: u_long baddr = map_scsi_single_data(np, cmd); > > sym53c8xx_comm.h:699:static int __map_scsi_sg_data(struct device *dev, Scsi_Cmnd *cmd) > ... > sym53c8xx_comm.h:708: use_sg = dma_map_sg(dev, cmd->buffer, cmd->use_sg, dma_dir); > > > asm/dma-mapping.h:91:static inline int > asm/dma-mapping.h:92:dma_map_sg(struct device *dev, struct scatterlist *sg, int nents, > asm/dma-mapping.h:93: enum dma_data_direction direction) > asm/dma-mapping.h:94:{ > asm/dma-mapping.h:95: return hppa_dma_ops->map_sg(dev, sg, nents, direction); > asm/dma-mapping.h:96:} > > Then search for hppa_dma_ops in arch/parisc/kernel/* and drivers/parisc/*.c > to locate the various platform/chipset DMA support: > > grundler <553>fgrep -n hppa_dma_ops arch/parisc/kernel/*c drivers/parisc/* > arch/parisc/kernel/drivers.c:30:struct hppa_dma_ops *hppa_dma_ops; > arch/parisc/kernel/drivers.c:31:EXPORT_SYMBOL(hppa_dma_ops); > arch/parisc/kernel/pci-dma.c:492:struct hppa_dma_ops pcxl_dma_ops = { > arch/parisc/kernel/pci-dma.c:533:struct hppa_dma_ops pcx_dma_ops = { > arch/parisc/kernel/setup.c:96: hppa_dma_ops = &pcx_dma_ops; > arch/parisc/kernel/setup.c:101: hppa_dma_ops = &pcxl_dma_ops; > drivers/parisc/ccio-dma.c:1009:static struct hppa_dma_ops ccio_ops = { > drivers/parisc/ccio-dma.c:1545: hppa_dma_ops = &ccio_ops; > drivers/parisc/ccio-rm-dma.c:183: hppa_dma_ops = &ccio_ops; > drivers/parisc/sba_iommu.c:1177:static struct hppa_dma_ops sba_ops = { > drivers/parisc/sba_iommu.c:1809: hppa_dma_ops = &sba_ops; > > Ideally, "make" would detect when support for only one chipset is > needed and just do away with hppa_dma_ops completely (ie directly > call into the chipset specific function). > > >>Thanks in advance, >> Joel >> >>PS: btw I noticed that ncr_attach() is still prefix by __init where >>sym_attach() is now prefix by __devinit. I trust it is important but could >>it be the simple reason of pb encounter? > > > IIRC, the difference is for hotplug. > __devinit section is preserved when CONFIG_HOTPLUG is enabled. > See linux/Documentation/pci.txt for the real description. > > grant > Great. Many thanks, Joel ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2004-04-26 17:11 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-04-26 16:52 [parisc-linux] Re: kernel>=2.6.4-rc3 hung or panic on C1[18]0 Joel Soete
2004-04-26 17:11 ` Grant Grundler
-- strict thread matches above, loose matches on Subject: below --
2004-04-19 16:53 [parisc-linux] Re: kernel>=2.6.4-rc3 hung or panic on C1[18]0 [was: 2.6.5-rc2-pa2 boot panic on c110 :(] Joel Soete
[not found] ` <408AD395.4060909@tiscali.be>
2004-04-24 22:19 ` [parisc-linux] Re: kernel>=2.6.4-rc3 hung or panic on C1[18]0 Grant Grundler
2004-04-24 22:31 ` Joel Soete
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox