mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-09 22:24:04 +08:00
scsi: mpi3mr: Add bios_param SCSI host template hook
Link: https://lore.kernel.org/r/20210520152545.2710479-13-kashyap.desai@broadcom.com Cc: sathya.prakash@broadcom.com Reviewed-by: Hannes Reinecke <hare@suse.de> Reviewed-by: Tomas Henzl <thenzl@redhat.com> Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com> Signed-off-by: Kashyap Desai <kashyap.desai@broadcom.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
ff9561e910
commit
8f9c6173ca
@ -2050,6 +2050,46 @@ static int mpi3mr_build_sg_scmd(struct mpi3mr_ioc *mrioc,
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* mpi3mr_bios_param - BIOS param callback
|
||||||
|
* @sdev: SCSI device reference
|
||||||
|
* @bdev: Block device reference
|
||||||
|
* @capacity: Capacity in logical sectors
|
||||||
|
* @params: Parameter array
|
||||||
|
*
|
||||||
|
* Just the parameters with heads/secots/cylinders.
|
||||||
|
*
|
||||||
|
* Return: 0 always
|
||||||
|
*/
|
||||||
|
static int mpi3mr_bios_param(struct scsi_device *sdev,
|
||||||
|
struct block_device *bdev, sector_t capacity, int params[])
|
||||||
|
{
|
||||||
|
int heads;
|
||||||
|
int sectors;
|
||||||
|
sector_t cylinders;
|
||||||
|
ulong dummy;
|
||||||
|
|
||||||
|
heads = 64;
|
||||||
|
sectors = 32;
|
||||||
|
|
||||||
|
dummy = heads * sectors;
|
||||||
|
cylinders = capacity;
|
||||||
|
sector_div(cylinders, dummy);
|
||||||
|
|
||||||
|
if ((ulong)capacity >= 0x200000) {
|
||||||
|
heads = 255;
|
||||||
|
sectors = 63;
|
||||||
|
dummy = heads * sectors;
|
||||||
|
cylinders = capacity;
|
||||||
|
sector_div(cylinders, dummy);
|
||||||
|
}
|
||||||
|
|
||||||
|
params[0] = heads;
|
||||||
|
params[1] = sectors;
|
||||||
|
params[2] = cylinders;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* mpi3mr_map_queues - Map queues callback handler
|
* mpi3mr_map_queues - Map queues callback handler
|
||||||
* @shost: SCSI host reference
|
* @shost: SCSI host reference
|
||||||
@ -2493,6 +2533,7 @@ static struct scsi_host_template mpi3mr_driver_template = {
|
|||||||
.slave_destroy = mpi3mr_slave_destroy,
|
.slave_destroy = mpi3mr_slave_destroy,
|
||||||
.scan_finished = mpi3mr_scan_finished,
|
.scan_finished = mpi3mr_scan_finished,
|
||||||
.scan_start = mpi3mr_scan_start,
|
.scan_start = mpi3mr_scan_start,
|
||||||
|
.bios_param = mpi3mr_bios_param,
|
||||||
.map_queues = mpi3mr_map_queues,
|
.map_queues = mpi3mr_map_queues,
|
||||||
.no_write_same = 1,
|
.no_write_same = 1,
|
||||||
.can_queue = 1,
|
.can_queue = 1,
|
||||||
|
Loading…
Reference in New Issue
Block a user