mirror of
https://github.com/DigitalDevices/dddvb.git
synced 2023-10-10 13:37:43 +02:00
octopro testing
This commit is contained in:
parent
535ffa6ca6
commit
40edadad3d
@ -234,6 +234,21 @@ static struct ddb_regmap octopro_map = {
|
|||||||
.gtl = &octopro_gtl,
|
.gtl = &octopro_gtl,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct ddb_regmap octopro_hdin_map = {
|
||||||
|
.irq_version = 2,
|
||||||
|
.irq_base_i2c = 32,
|
||||||
|
.irq_base_idma = 64,
|
||||||
|
.irq_base_odma = 128,
|
||||||
|
.i2c = &octopro_i2c,
|
||||||
|
.i2c_buf = &octopro_i2c_buf,
|
||||||
|
.idma = &octopro_idma,
|
||||||
|
.idma_buf = &octopro_idma_buf,
|
||||||
|
.odma = &octopro_odma,
|
||||||
|
.odma_buf = &octopro_odma_buf,
|
||||||
|
.input = &octopro_input,
|
||||||
|
.output = &octopro_output,
|
||||||
|
};
|
||||||
|
|
||||||
static struct ddb_regset octopus_mod_channel = {
|
static struct ddb_regset octopus_mod_channel = {
|
||||||
.base = 0x400,
|
.base = 0x400,
|
||||||
.num = 0x0c,
|
.num = 0x0c,
|
||||||
@ -643,9 +658,6 @@ static void ddb_input_start(struct ddb_input *input)
|
|||||||
input->dma->running = 1;
|
input->dma->running = 1;
|
||||||
spin_unlock_irq(&input->dma->lock);
|
spin_unlock_irq(&input->dma->lock);
|
||||||
}
|
}
|
||||||
pr_info("input_start %u.%u.%u\n",
|
|
||||||
dev->nr, input->port->lnr, input->nr);
|
|
||||||
pr_info("dmaregs = %08x\n", input->dma->regs);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -3566,6 +3578,8 @@ static irqreturn_t irq_handler_v2(int irq, void *dev_id)
|
|||||||
}
|
}
|
||||||
if (s & 0x00000004)
|
if (s & 0x00000004)
|
||||||
irq_handle_v2_n(dev, 3);
|
irq_handle_v2_n(dev, 3);
|
||||||
|
if (s & 0x0000ff00)
|
||||||
|
;//pr_info("irq_handler_v2 s=%08x\n", s);
|
||||||
IRQ_HANDLE(8);
|
IRQ_HANDLE(8);
|
||||||
IRQ_HANDLE(9);
|
IRQ_HANDLE(9);
|
||||||
IRQ_HANDLE(10);
|
IRQ_HANDLE(10);
|
||||||
@ -4837,6 +4851,7 @@ static void gtl_irq_handler(unsigned long priv)
|
|||||||
|
|
||||||
while ((s = ddbreadl(dev, tag | INTERRUPT_STATUS))) {
|
while ((s = ddbreadl(dev, tag | INTERRUPT_STATUS))) {
|
||||||
ddbwritel(dev, s, tag | INTERRUPT_ACK);
|
ddbwritel(dev, s, tag | INTERRUPT_ACK);
|
||||||
|
//pr_info("gtlirq %08x\n", s);
|
||||||
LINK_IRQ_HANDLE(l, 0);
|
LINK_IRQ_HANDLE(l, 0);
|
||||||
LINK_IRQ_HANDLE(l, 1);
|
LINK_IRQ_HANDLE(l, 1);
|
||||||
LINK_IRQ_HANDLE(l, 2);
|
LINK_IRQ_HANDLE(l, 2);
|
||||||
@ -4861,6 +4876,10 @@ static int ddb_gtl_init_link(struct ddb *dev, u32 l)
|
|||||||
link->lnb.fmode = 0xffffffff;
|
link->lnb.fmode = 0xffffffff;
|
||||||
mutex_init(&link->flash_mutex);
|
mutex_init(&link->flash_mutex);
|
||||||
|
|
||||||
|
link->nr = l;
|
||||||
|
link->dev = dev;
|
||||||
|
link->regs = regs;
|
||||||
|
|
||||||
if (!(1 & ddbreadl(dev, regs))) {
|
if (!(1 & ddbreadl(dev, regs))) {
|
||||||
u32 c;
|
u32 c;
|
||||||
|
|
||||||
@ -4875,10 +4894,6 @@ static int ddb_gtl_init_link(struct ddb *dev, u32 l)
|
|||||||
if (c == 5)
|
if (c == 5)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
link->nr = l;
|
|
||||||
link->dev = dev;
|
|
||||||
link->regs = regs;
|
|
||||||
|
|
||||||
id = ddbreadl(dev, DDB_LINK_TAG(l) | 8);
|
id = ddbreadl(dev, DDB_LINK_TAG(l) | 8);
|
||||||
switch (id) {
|
switch (id) {
|
||||||
case 0x0007dd01:
|
case 0x0007dd01:
|
||||||
|
@ -60,7 +60,7 @@ static void ddb_unmap(struct ddb *dev)
|
|||||||
static void __devexit ddb_irq_disable(struct ddb *dev)
|
static void __devexit ddb_irq_disable(struct ddb *dev)
|
||||||
{
|
{
|
||||||
if (dev->link[0].info->regmap->irq_version == 2) {
|
if (dev->link[0].info->regmap->irq_version == 2) {
|
||||||
//ddbwritel(dev, 0x00000000, INTERRUPT_V2_CONTROL);
|
ddbwritel(dev, 0x00000000, INTERRUPT_V2_CONTROL);
|
||||||
ddbwritel(dev, 0x00000000, INTERRUPT_V2_ENABLE_1);
|
ddbwritel(dev, 0x00000000, INTERRUPT_V2_ENABLE_1);
|
||||||
ddbwritel(dev, 0x00000000, INTERRUPT_V2_ENABLE_2);
|
ddbwritel(dev, 0x00000000, INTERRUPT_V2_ENABLE_2);
|
||||||
ddbwritel(dev, 0x00000000, INTERRUPT_V2_ENABLE_3);
|
ddbwritel(dev, 0x00000000, INTERRUPT_V2_ENABLE_3);
|
||||||
@ -167,7 +167,7 @@ static int __devinit ddb_irq_init2(struct ddb *dev)
|
|||||||
if (stat < 0)
|
if (stat < 0)
|
||||||
return stat;
|
return stat;
|
||||||
|
|
||||||
//ddbwritel(dev, 0x0f, INTERRUPT_V2_CONTROL);
|
ddbwritel(dev, 0x0000ff7f, INTERRUPT_V2_CONTROL);
|
||||||
ddbwritel(dev, 0xffffffff, INTERRUPT_V2_ENABLE_1);
|
ddbwritel(dev, 0xffffffff, INTERRUPT_V2_ENABLE_1);
|
||||||
ddbwritel(dev, 0xffffffff, INTERRUPT_V2_ENABLE_2);
|
ddbwritel(dev, 0xffffffff, INTERRUPT_V2_ENABLE_2);
|
||||||
ddbwritel(dev, 0xffffffff, INTERRUPT_V2_ENABLE_3);
|
ddbwritel(dev, 0xffffffff, INTERRUPT_V2_ENABLE_3);
|
||||||
@ -471,9 +471,9 @@ static struct ddb_info ddb_mod = {
|
|||||||
static struct ddb_info ddb_octopro_hdin = {
|
static struct ddb_info ddb_octopro_hdin = {
|
||||||
.type = DDB_OCTOPRO_HDIN,
|
.type = DDB_OCTOPRO_HDIN,
|
||||||
.name = "Digital Devices OctopusNet Pro HDIN",
|
.name = "Digital Devices OctopusNet Pro HDIN",
|
||||||
.regmap = &octopus_map,
|
.regmap = &octopro_hdin_map,
|
||||||
.port_num = 1,
|
.port_num = 10,
|
||||||
.i2c_mask = 0x00,
|
.i2c_mask = 0x3ff,
|
||||||
.mdio_num = 1,
|
.mdio_num = 1,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -481,8 +481,8 @@ static struct ddb_info ddb_octopro = {
|
|||||||
.type = DDB_OCTOPRO,
|
.type = DDB_OCTOPRO,
|
||||||
.name = "Digital Devices OctopusNet Pro",
|
.name = "Digital Devices OctopusNet Pro",
|
||||||
.regmap = &octopro_map,
|
.regmap = &octopro_map,
|
||||||
.port_num = 4,
|
.port_num = 10,
|
||||||
.i2c_mask = 0x0f,
|
.i2c_mask = 0x3ff,
|
||||||
.mdio_num = 1,
|
.mdio_num = 1,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -524,7 +524,7 @@ static const struct pci_device_id ddb_id_tbl[] __devinitconst = {
|
|||||||
DDB_ID(DDVID, 0x0201, DDVID, 0x0001, ddb_mod),
|
DDB_ID(DDVID, 0x0201, DDVID, 0x0001, ddb_mod),
|
||||||
DDB_ID(DDVID, 0x0201, DDVID, 0x0002, ddb_mod),
|
DDB_ID(DDVID, 0x0201, DDVID, 0x0002, ddb_mod),
|
||||||
/* testing on OctopusNet Pro */
|
/* testing on OctopusNet Pro */
|
||||||
DDB_ID(DDVID, 0x0320, PCI_ANY_ID, PCI_ANY_ID, ddb_octopro),
|
DDB_ID(DDVID, 0x0320, PCI_ANY_ID, PCI_ANY_ID, ddb_octopro_hdin),
|
||||||
DDB_ID(DDVID, 0x0321, PCI_ANY_ID, PCI_ANY_ID, ddb_none),
|
DDB_ID(DDVID, 0x0321, PCI_ANY_ID, PCI_ANY_ID, ddb_none),
|
||||||
DDB_ID(DDVID, 0x0322, PCI_ANY_ID, PCI_ANY_ID, ddb_octopro),
|
DDB_ID(DDVID, 0x0322, PCI_ANY_ID, PCI_ANY_ID, ddb_octopro),
|
||||||
DDB_ID(DDVID, 0x0323, PCI_ANY_ID, PCI_ANY_ID, ddb_none),
|
DDB_ID(DDVID, 0x0323, PCI_ANY_ID, PCI_ANY_ID, ddb_none),
|
||||||
|
@ -425,8 +425,8 @@ struct ddb {
|
|||||||
struct ddb_dma idma[DDB_MAX_INPUT];
|
struct ddb_dma idma[DDB_MAX_INPUT];
|
||||||
struct ddb_dma odma[DDB_MAX_OUTPUT];
|
struct ddb_dma odma[DDB_MAX_OUTPUT];
|
||||||
|
|
||||||
void (*handler[4][128])(unsigned long);
|
void (*handler[4][256])(unsigned long);
|
||||||
unsigned long handler_data[4][128];
|
unsigned long handler_data[4][256];
|
||||||
|
|
||||||
struct device *ddb_dev;
|
struct device *ddb_dev;
|
||||||
u32 ddb_dev_users;
|
u32 ddb_dev_users;
|
||||||
|
@ -37,9 +37,6 @@ MODULE_PARM_DESC(adapter_alloc,
|
|||||||
static struct ddb_regmap octopus_net_map = {
|
static struct ddb_regmap octopus_net_map = {
|
||||||
.irq_version = 1,
|
.irq_version = 1,
|
||||||
.irq_base_i2c = 0,
|
.irq_base_i2c = 0,
|
||||||
.irq_base_idma = 8,
|
|
||||||
.i2c = &octopus_i2c,
|
|
||||||
.i2c_buf = &octopus_i2c_buf,
|
|
||||||
.i2c = &octopus_i2c,
|
.i2c = &octopus_i2c,
|
||||||
.i2c_buf = &octopus_i2c_buf,
|
.i2c_buf = &octopus_i2c_buf,
|
||||||
.input = &octopus_input,
|
.input = &octopus_input,
|
||||||
@ -55,12 +52,9 @@ static struct ddb_regset octopus_gtl = {
|
|||||||
static struct ddb_regmap octopus_net_gtl = {
|
static struct ddb_regmap octopus_net_gtl = {
|
||||||
.irq_version = 1,
|
.irq_version = 1,
|
||||||
.irq_base_i2c = 0,
|
.irq_base_i2c = 0,
|
||||||
.irq_base_idma = 8,
|
|
||||||
.irq_base_gtl = 10,
|
.irq_base_gtl = 10,
|
||||||
.i2c = &octopus_i2c,
|
.i2c = &octopus_i2c,
|
||||||
.i2c_buf = &octopus_i2c_buf,
|
.i2c_buf = &octopus_i2c_buf,
|
||||||
.i2c = &octopus_i2c,
|
|
||||||
.i2c_buf = &octopus_i2c_buf,
|
|
||||||
.input = &octopus_input,
|
.input = &octopus_input,
|
||||||
.output = &octopus_output,
|
.output = &octopus_output,
|
||||||
.gtl = &octopus_gtl,
|
.gtl = &octopus_gtl,
|
||||||
|
Loading…
Reference in New Issue
Block a user