[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--