On sparc64 obtain the initiator ID from the Open Firmware device tree
in order to match what the PROM built-in driver uses. Approved by: mjacob
This commit is contained in:
parent
59879e52c1
commit
17bc427d0b
@ -46,6 +46,11 @@ __FBSDID("$FreeBSD$");
|
||||
#include <sys/malloc.h>
|
||||
#include <sys/uio.h>
|
||||
|
||||
#ifdef __sparc64__
|
||||
#include <dev/ofw/openfirm.h>
|
||||
#include <machine/ofw_machdep.h>
|
||||
#endif
|
||||
|
||||
#include <dev/isp/isp_freebsd.h>
|
||||
|
||||
static uint32_t isp_pci_rd_reg(ispsoftc_t *, int);
|
||||
@ -517,7 +522,11 @@ isp_get_specific_options(device_t dev, int chan, ispsoftc_t *isp)
|
||||
if (IS_FC(isp)) {
|
||||
ISP_FC_PC(isp, chan)->default_id = 109 - chan;
|
||||
} else {
|
||||
#ifdef __sparc64__
|
||||
ISP_SPI_PC(isp, chan)->iid = OF_getscsinitid(dev);
|
||||
#else
|
||||
ISP_SPI_PC(isp, chan)->iid = 7;
|
||||
#endif
|
||||
}
|
||||
} else {
|
||||
if (IS_FC(isp)) {
|
||||
|
@ -41,8 +41,10 @@ __FBSDID("$FreeBSD$");
|
||||
#include <sys/resource.h>
|
||||
|
||||
#include <dev/ofw/ofw_bus.h>
|
||||
#include <dev/ofw/openfirm.h>
|
||||
|
||||
#include <machine/bus.h>
|
||||
#include <machine/ofw_machdep.h>
|
||||
#include <machine/resource.h>
|
||||
#include <sys/rman.h>
|
||||
#include <sparc64/sbus/sbusvar.h>
|
||||
@ -264,11 +266,7 @@ isp_sbus_attach(device_t dev)
|
||||
isp->isp_confopts |= ISP_CFG_OWNLOOPID;
|
||||
}
|
||||
if (default_id == -1) {
|
||||
/*
|
||||
* XXX: should be a way to get properties w/o having
|
||||
* XXX: to call OF_xxx functions
|
||||
*/
|
||||
default_id = 7;
|
||||
default_id = OF_getscsinitid(dev);
|
||||
}
|
||||
ISP_SPI_PC(isp, 0)->iid = default_id;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user