[parisc-linux] mem_pdc_call: how using it exactly.

Bruno Vidal bruno_vidal@hpfrcu03.france.hp.com
Fri, 05 Jul 2002 14:03:45 +0200


This is a multi-part message in MIME format.
--------------143EC1816D4C96D0C148E1A8
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

About the iodc_data_size, in the documentation it is describe as: "count bytes in length".
For example in drivers/scsi/zalon7xx.c:
status = pdc_iodc_read(&pdc_result, hpa, 0, &iodc_data, 32 ); 
-> it is 32.
So If I want the 32 first bytes, it should be 32.
Now why doing it myself, because I don't want to use spinlock while dumping, and pdc_iodc_read
use spinlock. Perhaps, it is not a good solution, what do you think about using spinlock while
dumping ?

Matthew Wilcox wrote:
> 
> On Fri, Jul 05, 2002 at 12:53:31PM +0200, Bruno Vidal wrote:
> > static unsigned long pdc_result[32] __attribute__ ((aligned (8)));
> > static unsigned long pdc_result2[32] __attribute__ ((aligned (8)));
> >
> > /* Get spa for this module */
> > hpa=dump_parms->hpa;
> > index=0;
> > iodc_data_size=32;
> >
> > ret = mem_pdc_call(PDC_IODC, PDC_IODC_READ, __pa(pdc_result), hpa, index, __pa(pdc_result2), iodc_data_size);
> > convert_to_wide(pdc_result);
> > bytecnt = pdc_result[0];
> > memcpy(dump_iodc_data, pdc_result2, iodc_data_size);
> >
> > The result is always "ret = -3" -> cannot complete call without error.
> > Do I forget anything (probably). Do I have to prevent interruption ? Do I have to modify PSW ?
> 
> more prosaically, i think iodc_data_size should be 32 * sizeof(long),
> ie size in bytes, not number of longs.
> 
> but why code this up yourself rather than use pdc_iodc_read?
> 
> --
> Revolutions do not require corporate support.

-- 
	Vidal Bruno, (770-4271)
        SSD-HA Team, HP-UX & LINUX Support
	bruno_vidal@admin.france.hp.com
--------------143EC1816D4C96D0C148E1A8
Content-Type: text/x-vcard; charset=iso-8859-1;
 name="bruno_vidal.vcf"
Content-Transfer-Encoding: base64
Content-Description: Card for Bruno Vidal
Content-Disposition: attachment;
 filename="bruno_vidal.vcf"

YmVnaW46dmNhcmQgCm46QnJ1bm87VklEQUwKdGVsO2ZheDowMS02OS04Mi02MC0xNAp0ZWw7
d29yazowMS02OS0yOS00Mi03MQp4LW1vemlsbGEtaHRtbDpUUlVFCnVybDp3d3cuZnJhbmNl
LmhwLmNvbQpvcmc6U29sdXRpb24gQ2VudGVyCnZlcnNpb246Mi4xCmVtYWlsO2ludGVybmV0
OmJydW5vX3ZpZGFsQGhwLmNvbQp0aXRsZTpFeHBlcnQgTG9naWNpZWwgRW52aXJvbm5lbWVu
dCBIYXV0ZSBEaXNwb25pYmlsaXTpCmFkcjtxdW90ZWQtcHJpbnRhYmxlOjs7SFAgRnJhbmNl
PTBEPTBBO1ouQSBkZSBDb3VydGFib2V1ZjsxIEF2LiBkdSBDYW5hZGE7OTE5NDcgTGVzIFVs
aXMgY2VkZXg7RnJhbmNlCngtbW96aWxsYS1jcHQ6OzI2MjA4CmZuOlZJREFMIEJydW5vCmVu
ZDp2Y2FyZAo=
--------------143EC1816D4C96D0C148E1A8--