return the actual dma mode on request
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30225 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -10,7 +10,6 @@
|
|||||||
|
|
||||||
#include "ide_internal.h"
|
#include "ide_internal.h"
|
||||||
|
|
||||||
|
|
||||||
#define CHECK_DEV_DMA_MODE(infoblock, elem, mode, this_mode, num_modes ) \
|
#define CHECK_DEV_DMA_MODE(infoblock, elem, mode, this_mode, num_modes ) \
|
||||||
if( infoblock->elem ) { \
|
if( infoblock->elem ) { \
|
||||||
mode = this_mode; \
|
mode = this_mode; \
|
||||||
@@ -18,7 +17,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static int
|
int
|
||||||
get_device_dma_mode(ide_device_info *device)
|
get_device_dma_mode(ide_device_info *device)
|
||||||
{
|
{
|
||||||
ide_device_infoblock *infoblock = &device->infoblock;
|
ide_device_infoblock *infoblock = &device->infoblock;
|
||||||
|
|||||||
@@ -352,7 +352,7 @@ bool finish_dma(ide_device_info *device);
|
|||||||
void abort_dma(ide_device_info *device, ide_qrequest *qrequest);
|
void abort_dma(ide_device_info *device, ide_qrequest *qrequest);
|
||||||
|
|
||||||
bool configure_dma(ide_device_info *device);
|
bool configure_dma(ide_device_info *device);
|
||||||
|
int get_device_dma_mode(ide_device_info *device);
|
||||||
|
|
||||||
// emulation.c
|
// emulation.c
|
||||||
|
|
||||||
|
|||||||
@@ -743,7 +743,7 @@ ide_sim_ioctl(ide_bus_info *bus, uint8 targetID, uint32 op, void *buffer, size_t
|
|||||||
status.dma_status = 2;
|
status.dma_status = 2;
|
||||||
|
|
||||||
status.pio_mode = 0;
|
status.pio_mode = 0;
|
||||||
status.dma_mode = 0;
|
status.dma_mode = get_device_dma_mode(device);
|
||||||
|
|
||||||
memcpy(buffer, &status, min(sizeof(status), length));
|
memcpy(buffer, &status, min(sizeof(status), length));
|
||||||
return B_OK;
|
return B_OK;
|
||||||
|
|||||||
Reference in New Issue
Block a user