Patch from Steven Scholz:
should we rename the define into CONFIG_FEATURE_HDPARM_HDIO_DMA and use it for "set" and "get" ??? Since although CONFIG_FEATURE_HDPARM_HDIO_GET_DMA is _not_ set I still can use "hdparm -d 1 /dev/hda" to switch the DMA on. Is this desireable or meant to be like that? So how about the applied patch?
This commit is contained in:
parent
4b4e09854c
commit
0a57a79e38
@ -835,6 +835,12 @@
|
|||||||
#define USAGE_TRISTATE_HWIF(a)
|
#define USAGE_TRISTATE_HWIF(a)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA
|
||||||
|
#define USAGE_GETSET_DMA(a) a
|
||||||
|
#else
|
||||||
|
#define USAGE_GETSET_DMA(a)
|
||||||
|
#endif
|
||||||
|
|
||||||
#define hdparm_trivial_usage \
|
#define hdparm_trivial_usage \
|
||||||
"[options] [device] .."
|
"[options] [device] .."
|
||||||
#define hdparm_full_usage \
|
#define hdparm_full_usage \
|
||||||
@ -845,7 +851,7 @@
|
|||||||
" -B set Advanced Power Management setting (1-255)\n" \
|
" -B set Advanced Power Management setting (1-255)\n" \
|
||||||
" -c get/set IDE 32-bit IO setting\n" \
|
" -c get/set IDE 32-bit IO setting\n" \
|
||||||
" -C check IDE power mode status\n" \
|
" -C check IDE power mode status\n" \
|
||||||
" -d get/set using_dma flag\n" \
|
USAGE_GETSET_DMA(" -d get/set using_dma flag\n") \
|
||||||
" -D enable/disable drive defect-mgmt\n" \
|
" -D enable/disable drive defect-mgmt\n" \
|
||||||
" -f flush buffer cache for device on exit\n" \
|
" -f flush buffer cache for device on exit\n" \
|
||||||
" -g display drive geometry\n" \
|
" -g display drive geometry\n" \
|
||||||
|
@ -100,6 +100,14 @@ config CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF
|
|||||||
and the '-b' option to get/set bus state. This is dangerous
|
and the '-b' option to get/set bus state. This is dangerous
|
||||||
stuff, so you should probably say N.
|
stuff, so you should probably say N.
|
||||||
|
|
||||||
|
config CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA
|
||||||
|
bool " get/set using_dma flag (DANGEROUS)"
|
||||||
|
default n
|
||||||
|
depends on CONFIG_HDPARM
|
||||||
|
help
|
||||||
|
Enables the 'hdparm -d' option to get/set using_dma flag.
|
||||||
|
This is dangerous stuff, so you should probably say N.
|
||||||
|
|
||||||
config CONFIG_MAKEDEVS
|
config CONFIG_MAKEDEVS
|
||||||
bool "makedevs"
|
bool "makedevs"
|
||||||
default n
|
default n
|
||||||
|
@ -1820,6 +1820,7 @@ static void process_dev (char *devname)
|
|||||||
if (ioctl(fd, HDIO_SET_UNMASKINTR, unmask))
|
if (ioctl(fd, HDIO_SET_UNMASKINTR, unmask))
|
||||||
bb_perror_msg(" HDIO_SET_UNMASKINTR failed");
|
bb_perror_msg(" HDIO_SET_UNMASKINTR failed");
|
||||||
}
|
}
|
||||||
|
#ifdef CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA
|
||||||
if (set_dma) {
|
if (set_dma) {
|
||||||
no_scsi();
|
no_scsi();
|
||||||
if (get_dma) {
|
if (get_dma) {
|
||||||
@ -1829,6 +1830,7 @@ static void process_dev (char *devname)
|
|||||||
if (ioctl(fd, HDIO_SET_DMA, dma))
|
if (ioctl(fd, HDIO_SET_DMA, dma))
|
||||||
bb_perror_msg(" HDIO_SET_DMA failed");
|
bb_perror_msg(" HDIO_SET_DMA failed");
|
||||||
}
|
}
|
||||||
|
#endif /* CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA */
|
||||||
if (set_dma_q) {
|
if (set_dma_q) {
|
||||||
no_scsi();
|
no_scsi();
|
||||||
if (get_dma_q) {
|
if (get_dma_q) {
|
||||||
@ -2080,7 +2082,7 @@ static void process_dev (char *devname)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_FEATURE_HDPARM_HDIO_GET_DMA
|
#ifdef CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA
|
||||||
if ((verbose && !is_scsi_hd) || get_dma) {
|
if ((verbose && !is_scsi_hd) || get_dma) {
|
||||||
no_scsi();
|
no_scsi();
|
||||||
if (ioctl(fd, HDIO_GET_DMA, &parm))
|
if (ioctl(fd, HDIO_GET_DMA, &parm))
|
||||||
@ -2382,6 +2384,7 @@ int hdparm_main(int argc, char **argv)
|
|||||||
unmask = *p++ - '0';
|
unmask = *p++ - '0';
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
#ifdef CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA
|
||||||
case 'd':
|
case 'd':
|
||||||
get_dma = noisy;
|
get_dma = noisy;
|
||||||
noisy = 1;
|
noisy = 1;
|
||||||
@ -2392,6 +2395,7 @@ int hdparm_main(int argc, char **argv)
|
|||||||
dma = *p++ - '0';
|
dma = *p++ - '0';
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
#endif /* CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA */
|
||||||
case 'n':
|
case 'n':
|
||||||
get_nowerr = noisy;
|
get_nowerr = noisy;
|
||||||
noisy = 1;
|
noisy = 1;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user