mirror of
https://github.com/DigitalDevices/dddvb.git
synced 2023-10-10 13:37:43 +02:00
coding style fixes according to checkpatch
This commit is contained in:
parent
5074e28e10
commit
2b6babfdc0
@ -18,10 +18,8 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, point your browser to
|
||||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
* http://www.gnu.org/copyleft/gpl.html
|
||||||
* 02110-1301, USA
|
|
||||||
* Or, point your browser to http://www.gnu.org/copyleft/gpl.html
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "ddbridge.h"
|
#include "ddbridge.h"
|
||||||
@ -31,7 +29,7 @@
|
|||||||
|
|
||||||
struct workqueue_struct *ddb_wq;
|
struct workqueue_struct *ddb_wq;
|
||||||
|
|
||||||
DEFINE_MUTEX(redirect_lock);
|
DEFINE_MUTEX(redirect_lock); /* lock for redirect */
|
||||||
|
|
||||||
static int adapter_alloc;
|
static int adapter_alloc;
|
||||||
module_param(adapter_alloc, int, 0444);
|
module_param(adapter_alloc, int, 0444);
|
||||||
@ -266,7 +264,7 @@ static int dma_alloc(struct pci_dev *pdev, struct ddb_dma *dma, int dir)
|
|||||||
return 0;
|
return 0;
|
||||||
for (i = 0; i < dma->num; i++) {
|
for (i = 0; i < dma->num; i++) {
|
||||||
if (alt_dma) {
|
if (alt_dma) {
|
||||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 12, 0))
|
#if (KERNEL_VERSION(4, 12, 0) >= LINUX_VERSION_CODE)
|
||||||
dma->vbuf[i] = kmalloc(dma->size, __GFP_REPEAT);
|
dma->vbuf[i] = kmalloc(dma->size, __GFP_REPEAT);
|
||||||
#else
|
#else
|
||||||
dma->vbuf[i] = kmalloc(dma->size, __GFP_RETRY_MAYFAIL);
|
dma->vbuf[i] = kmalloc(dma->size, __GFP_RETRY_MAYFAIL);
|
||||||
@ -1371,8 +1369,8 @@ static int lnb_command(struct ddb *dev, u32 link, u32 lnb, u32 cmd)
|
|||||||
}
|
}
|
||||||
if (c == 10)
|
if (c == 10)
|
||||||
dev_info(dev->dev,
|
dev_info(dev->dev,
|
||||||
"lnb_command lnb = %08x cmd = %08x\n",
|
"%s lnb = %08x cmd = %08x\n",
|
||||||
lnb, cmd);
|
__func__, lnb, cmd);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2839,7 +2837,8 @@ static int ddb_port_attach(struct ddb_port *port)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
dev_err(port->dev->dev, "port_attach on port %d failed\n", port->nr);
|
dev_err(port->dev->dev,
|
||||||
|
"port_attach on port %d failed\n", port->nr);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3145,7 +3144,7 @@ static void ddb_output_init(struct ddb_port *port, int nr)
|
|||||||
if (dev->has_dma) {
|
if (dev->has_dma) {
|
||||||
struct ddb_regmap *rm0 = io_regmap(output, 0);
|
struct ddb_regmap *rm0 = io_regmap(output, 0);
|
||||||
u32 base = rm0->irq_base_odma;
|
u32 base = rm0->irq_base_odma;
|
||||||
|
|
||||||
dev->handler[0][nr + base] = output_handler;
|
dev->handler[0][nr + base] = output_handler;
|
||||||
dev->handler_data[0][nr + base] = (unsigned long) output;
|
dev->handler_data[0][nr + base] = (unsigned long) output;
|
||||||
ddb_dma_init(output, nr, 1);
|
ddb_dma_init(output, nr, 1);
|
||||||
@ -4115,7 +4114,7 @@ static const struct file_operations ddb_fops = {
|
|||||||
.release = ddb_release,
|
.release = ddb_release,
|
||||||
};
|
};
|
||||||
|
|
||||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 4, 0))
|
#if (KERNEL_VERSION(3, 4, 0) >= LINUX_VERSION_CODE)
|
||||||
static char *ddb_devnode(struct device *device, mode_t *mode)
|
static char *ddb_devnode(struct device *device, mode_t *mode)
|
||||||
#else
|
#else
|
||||||
static char *ddb_devnode(struct device *device, umode_t *mode)
|
static char *ddb_devnode(struct device *device, umode_t *mode)
|
||||||
@ -4835,7 +4834,7 @@ static void gtl_link_handler(unsigned long priv)
|
|||||||
{
|
{
|
||||||
struct ddb *dev = (struct ddb *) priv;
|
struct ddb *dev = (struct ddb *) priv;
|
||||||
u32 regs = dev->link[0].info->regmap->gtl->base;
|
u32 regs = dev->link[0].info->regmap->gtl->base;
|
||||||
|
|
||||||
dev_info(dev->dev, "GT link change: %u\n",
|
dev_info(dev->dev, "GT link change: %u\n",
|
||||||
(1 & ddbreadl(dev, regs)));
|
(1 & ddbreadl(dev, regs)));
|
||||||
}
|
}
|
||||||
@ -4888,7 +4887,7 @@ static int ddb_gtl_init_link(struct ddb *dev, u32 l)
|
|||||||
u32 id, subid, base = dev->link[0].info->regmap->irq_base_gtl;
|
u32 id, subid, base = dev->link[0].info->regmap->irq_base_gtl;
|
||||||
|
|
||||||
dev_info(dev->dev, "Checking GT link %u: regs = %08x\n", l, regs);
|
dev_info(dev->dev, "Checking GT link %u: regs = %08x\n", l, regs);
|
||||||
|
|
||||||
spin_lock_init(&link->lock);
|
spin_lock_init(&link->lock);
|
||||||
mutex_init(&link->lnb.lock);
|
mutex_init(&link->lnb.lock);
|
||||||
link->lnb.fmode = 0xffffffff;
|
link->lnb.fmode = 0xffffffff;
|
||||||
@ -5017,14 +5016,14 @@ static int tempmon_init(struct ddb_link *link, int FirstTime)
|
|||||||
|
|
||||||
spin_lock_irq(&link->temp_lock);
|
spin_lock_irq(&link->temp_lock);
|
||||||
if (FirstTime) {
|
if (FirstTime) {
|
||||||
static u8 TemperatureTable[11] = {
|
static u8 temperature_table[11] = {
|
||||||
30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80};
|
30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80};
|
||||||
|
|
||||||
memcpy(link->temp_tab, TemperatureTable,
|
memcpy(link->temp_tab, temperature_table,
|
||||||
sizeof(TemperatureTable));
|
sizeof(temperature_table));
|
||||||
}
|
}
|
||||||
dev->handler[l][link->info->tempmon_irq] = temp_handler;
|
dev->handler[l][link->info->tempmon_irq] = temp_handler;
|
||||||
dev->handler_data[l][link->info->tempmon_irq] = (unsigned long) link;
|
dev->handler_data[l][link->info->tempmon_irq] = (unsigned long)link;
|
||||||
ddblwritel(link, (TEMPMON_CONTROL_OVERTEMP | TEMPMON_CONTROL_AUTOSCAN |
|
ddblwritel(link, (TEMPMON_CONTROL_OVERTEMP | TEMPMON_CONTROL_AUTOSCAN |
|
||||||
TEMPMON_CONTROL_INTENABLE),
|
TEMPMON_CONTROL_INTENABLE),
|
||||||
TEMPMON_CONTROL);
|
TEMPMON_CONTROL);
|
||||||
@ -5049,7 +5048,7 @@ static int ddb_init_tempmon(struct ddb_link *link)
|
|||||||
if (!info->tempmon_irq)
|
if (!info->tempmon_irq)
|
||||||
return 0;
|
return 0;
|
||||||
if (info->type == DDB_OCTOPUS_MAX ||
|
if (info->type == DDB_OCTOPUS_MAX ||
|
||||||
info->type == DDB_OCTOPUS_MAX_CT)
|
info->type == DDB_OCTOPUS_MAX_CT)
|
||||||
if (link->ids.regmapid < 0x00010002)
|
if (link->ids.regmapid < 0x00010002)
|
||||||
return 0;
|
return 0;
|
||||||
spin_lock_init(&link->temp_lock);
|
spin_lock_init(&link->temp_lock);
|
||||||
@ -5074,9 +5073,11 @@ static int ddb_init_boards(struct ddb *dev)
|
|||||||
dev_info(dev->dev,
|
dev_info(dev->dev,
|
||||||
"link %u vendor %04x device %04x subvendor %04x subdevice %04x\n",
|
"link %u vendor %04x device %04x subvendor %04x subdevice %04x\n",
|
||||||
l,
|
l,
|
||||||
dev->link[l].ids.vendor, dev->link[l].ids.device,
|
dev->link[l].ids.vendor,
|
||||||
dev->link[l].ids.subvendor, dev->link[l].ids.subdevice);
|
dev->link[l].ids.device,
|
||||||
|
dev->link[l].ids.subvendor,
|
||||||
|
dev->link[l].ids.subdevice);
|
||||||
|
|
||||||
if (info->board_control) {
|
if (info->board_control) {
|
||||||
ddbwritel(dev, 0, DDB_LINK_TAG(l) | BOARD_CONTROL);
|
ddbwritel(dev, 0, DDB_LINK_TAG(l) | BOARD_CONTROL);
|
||||||
msleep(100);
|
msleep(100);
|
||||||
|
@ -18,10 +18,8 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, point your browser to
|
||||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
* http://www.gnu.org/copyleft/gpl.html
|
||||||
* 02110-1301, USA
|
|
||||||
* Or, point your browser to http://www.gnu.org/copyleft/gpl.html
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "ddbridge.h"
|
#include "ddbridge.h"
|
||||||
@ -686,16 +684,17 @@ static struct ddb_device_id ddb_device_ids[] = {
|
|||||||
DDB_DEVID(0x0329, 0xffff, ddb_octopro_hdin),
|
DDB_DEVID(0x0329, 0xffff, ddb_octopro_hdin),
|
||||||
};
|
};
|
||||||
|
|
||||||
struct ddb_info *get_ddb_info(u16 vendor, u16 device, u16 subvendor, u16 subdevice)
|
struct ddb_info *get_ddb_info(u16 vendor, u16 device,
|
||||||
|
u16 subvendor, u16 subdevice)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_SIZE(ddb_device_ids); i++) {
|
for (i = 0; i < ARRAY_SIZE(ddb_device_ids); i++) {
|
||||||
struct ddb_device_id *id = &ddb_device_ids[i];
|
struct ddb_device_id *id = &ddb_device_ids[i];
|
||||||
|
|
||||||
if (vendor == id->vendor &&
|
if (vendor == id->vendor &&
|
||||||
device == id->device &&
|
device == id->device &&
|
||||||
subvendor == id->subvendor &&
|
subvendor == id->subvendor &&
|
||||||
((subdevice == id->subdevice) ||
|
((subdevice == id->subdevice) ||
|
||||||
id->subdevice == 0xffff))
|
id->subdevice == 0xffff))
|
||||||
return id->info;
|
return id->info;
|
||||||
|
@ -17,10 +17,8 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, point your browser to
|
||||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
* http://www.gnu.org/copyleft/gpl.html
|
||||||
* 02110-1301, USA
|
|
||||||
* Or, point your browser to http://www.gnu.org/copyleft/gpl.html
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "ddbridge.h"
|
#include "ddbridge.h"
|
||||||
|
@ -17,10 +17,8 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, point your browser to
|
||||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
* http://www.gnu.org/copyleft/gpl.html
|
||||||
* 02110-1301, USA
|
|
||||||
* Or, point your browser to http://www.gnu.org/copyleft/gpl.html
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _DDBRIDGE_I2C_H_
|
#ifndef _DDBRIDGE_I2C_H_
|
||||||
|
@ -17,10 +17,8 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, point your browser to
|
||||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
* http://www.gnu.org/copyleft/gpl.html
|
||||||
* 02110-1301, USA
|
|
||||||
* Or, point your browser to http://www.gnu.org/copyleft/gpl.html
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "ddbridge.h"
|
#include "ddbridge.h"
|
||||||
|
@ -17,10 +17,8 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, point your browser to
|
||||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
* http://www.gnu.org/copyleft/gpl.html
|
||||||
* 02110-1301, USA
|
|
||||||
* Or, point your browser to http://www.gnu.org/copyleft/gpl.html
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _DDBRIDGE_IO_H_
|
#ifndef _DDBRIDGE_IO_H_
|
||||||
|
@ -18,10 +18,8 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, point your browser to
|
||||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
* http://www.gnu.org/copyleft/gpl.html
|
||||||
* 02110-1301, USA
|
|
||||||
* Or, point your browser to http://www.gnu.org/copyleft/gpl.html
|
|
||||||
*/
|
*/
|
||||||
#include "ddbridge.h"
|
#include "ddbridge.h"
|
||||||
#include "ddbridge-io.h"
|
#include "ddbridge-io.h"
|
||||||
@ -88,7 +86,7 @@ static void __devexit ddb_remove(struct pci_dev *pdev)
|
|||||||
pci_disable_device(pdev);
|
pci_disable_device(pdev);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0))
|
#if (KERNEL_VERSION(3, 8, 0) < LINUX_VERSION_CODE)
|
||||||
#define __devinit
|
#define __devinit
|
||||||
#define __devinitdata
|
#define __devinitdata
|
||||||
#endif
|
#endif
|
||||||
@ -99,8 +97,8 @@ static int __devinit ddb_irq_msi(struct ddb *dev, int nr)
|
|||||||
|
|
||||||
#ifdef CONFIG_PCI_MSI
|
#ifdef CONFIG_PCI_MSI
|
||||||
if (msi && pci_msi_enabled()) {
|
if (msi && pci_msi_enabled()) {
|
||||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0))
|
#if (KERNEL_VERSION(3, 15, 0) < LINUX_VERSION_CODE)
|
||||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0))
|
#if (KERNEL_VERSION(4, 11, 0) < LINUX_VERSION_CODE)
|
||||||
stat = pci_alloc_irq_vectors(dev->pdev, 1, nr, PCI_IRQ_MSI);
|
stat = pci_alloc_irq_vectors(dev->pdev, 1, nr, PCI_IRQ_MSI);
|
||||||
#else
|
#else
|
||||||
stat = pci_enable_msi_range(dev->pdev, 1, nr);
|
stat = pci_enable_msi_range(dev->pdev, 1, nr);
|
||||||
@ -125,7 +123,7 @@ static int __devinit ddb_irq_msi(struct ddb *dev, int nr)
|
|||||||
dev_info(dev->dev, "MSI not available.\n");
|
dev_info(dev->dev, "MSI not available.\n");
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
return stat;
|
return stat;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -250,7 +248,7 @@ static int __devinit ddb_probe(struct pci_dev *pdev,
|
|||||||
dev->link[0].ids.device = id->device;
|
dev->link[0].ids.device = id->device;
|
||||||
dev->link[0].ids.subvendor = id->subvendor;
|
dev->link[0].ids.subvendor = id->subvendor;
|
||||||
dev->link[0].ids.subdevice = pdev->subsystem_device;
|
dev->link[0].ids.subdevice = pdev->subsystem_device;
|
||||||
|
|
||||||
dev->link[0].dev = dev;
|
dev->link[0].dev = dev;
|
||||||
dev->link[0].info = get_ddb_info(id->vendor, id->device,
|
dev->link[0].info = get_ddb_info(id->vendor, id->device,
|
||||||
id->subvendor, pdev->subsystem_device);
|
id->subvendor, pdev->subsystem_device);
|
||||||
@ -316,7 +314,8 @@ fail:
|
|||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
#define DDB_DEVICE_ANY(_device) { PCI_DEVICE_SUB(0xdd01, _device, 0xdd01, PCI_ANY_ID) }
|
#define DDB_DEVICE_ANY(_device) \
|
||||||
|
{ PCI_DEVICE_SUB(0xdd01, _device, 0xdd01, PCI_ANY_ID) }
|
||||||
|
|
||||||
static const struct pci_device_id ddb_id_table[] __devinitconst = {
|
static const struct pci_device_id ddb_id_table[] __devinitconst = {
|
||||||
DDB_DEVICE_ANY(0x0002),
|
DDB_DEVICE_ANY(0x0002),
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
* Ralph Metzler <rjkm@metzlerbros.de>
|
* Ralph Metzler <rjkm@metzlerbros.de>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify dit under the terms of the GNU General Public License
|
||||||
* version 2 only, as published by the Free Software Foundation.
|
* version 2 only, as published by the Free Software Foundation.
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
@ -17,10 +17,8 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, point your browser to
|
||||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
* http://www.gnu.org/copyleft/gpl.html
|
||||||
* 02110-1301, USA
|
|
||||||
* Or, point your browser to http://www.gnu.org/copyleft/gpl.html
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "ddbridge.h"
|
#include "ddbridge.h"
|
||||||
@ -682,7 +680,7 @@ static int mod_set_si598(struct ddb *dev, u32 freq)
|
|||||||
mod_si598_readreg(dev, 10, &Data[3]);
|
mod_si598_readreg(dev, 10, &Data[3]);
|
||||||
mod_si598_readreg(dev, 11, &Data[4]);
|
mod_si598_readreg(dev, 11, &Data[4]);
|
||||||
mod_si598_readreg(dev, 12, &Data[5]);
|
mod_si598_readreg(dev, 12, &Data[5]);
|
||||||
|
|
||||||
dev_info(dev->dev, "Data = %02x %02x %02x %02x %02x %02x\n",
|
dev_info(dev->dev, "Data = %02x %02x %02x %02x %02x %02x\n",
|
||||||
Data[0], Data[1], Data[2], Data[3], Data[4], Data[5]);
|
Data[0], Data[1], Data[2], Data[3], Data[4], Data[5]);
|
||||||
RFreq = (((u64)Data[1] & 0x3F) << 32) | ((u64)Data[2] << 24) |
|
RFreq = (((u64)Data[1] & 0x3F) << 32) | ((u64)Data[2] << 24) |
|
||||||
@ -699,10 +697,10 @@ static int mod_set_si598(struct ddb *dev, u32 freq)
|
|||||||
m_fXtal = fDCO << 28;
|
m_fXtal = fDCO << 28;
|
||||||
dev_info(dev->dev, "fxtal %016llx rfreq %016llx\n",
|
dev_info(dev->dev, "fxtal %016llx rfreq %016llx\n",
|
||||||
m_fXtal, RFreq);
|
m_fXtal, RFreq);
|
||||||
|
|
||||||
m_fXtal += RFreq >> 1;
|
m_fXtal += RFreq >> 1;
|
||||||
m_fXtal = div64_u64(m_fXtal, RFreq);
|
m_fXtal = div64_u64(m_fXtal, RFreq);
|
||||||
|
|
||||||
dev_info(dev->dev, "fOut = %d fXtal = %d fDCO = %d HDIV = %2d, N = %3d\n",
|
dev_info(dev->dev, "fOut = %d fXtal = %d fDCO = %d HDIV = %2d, N = %3d\n",
|
||||||
(u32) fOut, (u32) m_fXtal, (u32) fDCO, (u32) HSDiv, N);
|
(u32) fOut, (u32) m_fXtal, (u32) fDCO, (u32) HSDiv, N);
|
||||||
}
|
}
|
||||||
@ -770,7 +768,7 @@ static int mod_set_si598(struct ddb *dev, u32 freq)
|
|||||||
|
|
||||||
dev_info(dev->dev, "fOut = %u fXtal = %llu fDCO = %llu HSDIV = %llu, N = %u, RFreq = %llu\n",
|
dev_info(dev->dev, "fOut = %u fXtal = %llu fDCO = %llu HSDIV = %llu, N = %u, RFreq = %llu\n",
|
||||||
fOut, m_fXtal, fDCO, HSDiv, N, RFreq);
|
fOut, m_fXtal, fDCO, HSDiv, N, RFreq);
|
||||||
|
|
||||||
Data[0] = (u8)(((HSDiv - 4) << 5) | ((N - 1) >> 2));
|
Data[0] = (u8)(((HSDiv - 4) << 5) | ((N - 1) >> 2));
|
||||||
Data[1] = (u8)((((N - 1) & 0x03) << 6) | ((RF >> 32) & 0x3F));
|
Data[1] = (u8)((((N - 1) & 0x03) << 6) | ((RF >> 32) & 0x3F));
|
||||||
Data[2] = (u8)((RF >> 24) & 0xFF);
|
Data[2] = (u8)((RF >> 24) & 0xFF);
|
||||||
@ -917,7 +915,7 @@ static int mod_init_dac_input(struct ddb *dev)
|
|||||||
}
|
}
|
||||||
|
|
||||||
dev_err(dev->dev, "Window = %d - %d\n", Sample1, Sample2);
|
dev_err(dev->dev, "Window = %d - %d\n", Sample1, Sample2);
|
||||||
|
|
||||||
for (Sample = Sample1; Sample < Sample2; Sample += 1) {
|
for (Sample = Sample1; Sample < Sample2; Sample += 1) {
|
||||||
if (SetTable[Sample] < HldTable[Sample]) {
|
if (SetTable[Sample] < HldTable[Sample]) {
|
||||||
if (HldTable[Sample] - SetTable[Sample] < DiffMin) {
|
if (HldTable[Sample] - SetTable[Sample] < DiffMin) {
|
||||||
@ -1025,7 +1023,7 @@ static int mod_set_dac_clock(struct ddb *dev, u32 Frequency)
|
|||||||
break;
|
break;
|
||||||
msleep(100);
|
msleep(100);
|
||||||
}
|
}
|
||||||
dev_info(dev->dev, "mod_set_dac_clock OK\n");
|
dev_info(dev->dev, "%s OK\n", __func__);
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1195,13 +1193,13 @@ static int mod_init_1(struct ddb *dev, u32 Frequency)
|
|||||||
UP1Frequency + UP2Frequency;
|
UP1Frequency + UP2Frequency;
|
||||||
dev_info(dev->dev, "CH10 = %d, Down = %d\n",
|
dev_info(dev->dev, "CH10 = %d, Down = %d\n",
|
||||||
FrequencyCH10, DownFrequency);
|
FrequencyCH10, DownFrequency);
|
||||||
|
|
||||||
if ((FrequencyCH10 + 9 * 8) > (flash->DataSet[0].FlatEnd - 4)) {
|
if ((FrequencyCH10 + 9 * 8) > (flash->DataSet[0].FlatEnd - 4)) {
|
||||||
dev_err(dev->dev, "Frequency out of range %d\n", FrequencyCH10);
|
dev_err(dev->dev, "Frequency out of range %d\n", FrequencyCH10);
|
||||||
stat = -EINVAL;
|
stat = -EINVAL;
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (DownFrequency % 8 != 0) {
|
if (DownFrequency % 8 != 0) {
|
||||||
dev_err(dev->dev, "Invalid Frequency %d\n", DownFrequency);
|
dev_err(dev->dev, "Invalid Frequency %d\n", DownFrequency);
|
||||||
stat = -EINVAL;
|
stat = -EINVAL;
|
||||||
@ -1501,10 +1499,10 @@ static int mod3_prop_proc(struct ddb_mod *mod, struct dtv_property *tvp)
|
|||||||
|
|
||||||
case MODULATOR_BASE_FREQUENCY:
|
case MODULATOR_BASE_FREQUENCY:
|
||||||
return mod3_set_base_frequency(mod->port->dev, tvp->u.data);
|
return mod3_set_base_frequency(mod->port->dev, tvp->u.data);
|
||||||
|
|
||||||
case MODULATOR_ATTENUATOR:
|
case MODULATOR_ATTENUATOR:
|
||||||
return mod_set_attenuator(mod->port->dev, tvp->u.data);
|
return mod_set_attenuator(mod->port->dev, tvp->u.data);
|
||||||
|
|
||||||
case MODULATOR_GAIN:
|
case MODULATOR_GAIN:
|
||||||
return mod_set_vga(mod->port->dev, tvp->u.data);
|
return mod_set_vga(mod->port->dev, tvp->u.data);
|
||||||
}
|
}
|
||||||
@ -1560,8 +1558,9 @@ int ddbridge_mod_do_ioctl(struct file *file, unsigned int cmd, void *parg)
|
|||||||
if ((tvps->num == 0) || (tvps->num > DTV_IOCTL_MAX_MSGS))
|
if ((tvps->num == 0) || (tvps->num > DTV_IOCTL_MAX_MSGS))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
tvp = kmalloc(tvps->num * sizeof(struct dtv_property),
|
tvp = kmalloc_array(tvps->num,
|
||||||
GFP_KERNEL);
|
sizeof(struct dtv_property),
|
||||||
|
GFP_KERNEL);
|
||||||
if (!tvp) {
|
if (!tvp) {
|
||||||
ret = -ENOMEM;
|
ret = -ENOMEM;
|
||||||
goto out;
|
goto out;
|
||||||
@ -1654,7 +1653,7 @@ static int mod_init_2(struct ddb *dev, u32 Frequency)
|
|||||||
mod_set_vga(dev, RF_VGA_GAIN_N16);
|
mod_set_vga(dev, RF_VGA_GAIN_N16);
|
||||||
else
|
else
|
||||||
mod_set_vga(dev, RF_VGA_GAIN_N24);
|
mod_set_vga(dev, RF_VGA_GAIN_N24);
|
||||||
|
|
||||||
mod_set_attenuator(dev, 0);
|
mod_set_attenuator(dev, 0);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -17,10 +17,8 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, point your browser to
|
||||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
* http://www.gnu.org/copyleft/gpl.html
|
||||||
* 02110-1301, USA
|
|
||||||
* Or, point your browser to http://www.gnu.org/copyleft/gpl.html
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "ddbridge.h"
|
#include "ddbridge.h"
|
||||||
|
@ -15,10 +15,8 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, point your browser to
|
||||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
* http://www.gnu.org/copyleft/gpl.html
|
||||||
* 02110-1301, USA
|
|
||||||
* Or, point your browser to http://www.gnu.org/copyleft/gpl.html
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Register Definitions */
|
/* Register Definitions */
|
||||||
@ -164,8 +162,8 @@
|
|||||||
#define TEMPMON_SENSOR2 (TEMPMON_BASE + 0x0C)
|
#define TEMPMON_SENSOR2 (TEMPMON_BASE + 0x0C)
|
||||||
|
|
||||||
#define TEMPMON_FANCONTROL (TEMPMON_BASE + 0x10)
|
#define TEMPMON_FANCONTROL (TEMPMON_BASE + 0x10)
|
||||||
#define TEMPMON_FANPWM (0x00000F00) // PWM speed in 10% steps
|
#define TEMPMON_FANPWM (0x00000F00) /* PWM speed in 10% steps */
|
||||||
#define TEMPMON_FANTACHO (0x000000FF) // Rotations in 100/min steps
|
#define TEMPMON_FANTACHO (0x000000FF) /* Rotations in 100/min steps */
|
||||||
|
|
||||||
/* V1 Temperature Monitor
|
/* V1 Temperature Monitor
|
||||||
* Temperature Monitor TEMPMON_CONTROL & 0x8000 == 0 : ( 2x LM75A @ 0x90,0x92 )
|
* Temperature Monitor TEMPMON_CONTROL & 0x8000 == 0 : ( 2x LM75A @ 0x90,0x92 )
|
||||||
@ -173,16 +171,23 @@
|
|||||||
* ( 1x LM75A @ 0x90, 1x ADM1032 @ 0x9A )
|
* ( 1x LM75A @ 0x90, 1x ADM1032 @ 0x9A )
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define TEMPMON1_CORE (TEMPMON_SENSOR0) // u16 Temperature in °C x 256 (ADM1032 ext)
|
/* Temperature in °C x 256 (ADM1032 ext) */
|
||||||
#define TEMPMON1_SENSOR1 (TEMPMON_BASE + 0x08) // SHORT Temperature in °C x 256 (LM75A 0x90)
|
#define TEMPMON1_CORE (TEMPMON_SENSOR0)
|
||||||
#define TEMPMON1_SENSOR2 (TEMPMON_BASE + 0x0C) // SHORT Temperature in °C x 256 (LM75A 0x92 or ADM1032 Int)
|
/* Temperature in °C x 256 (LM75A 0x90) */
|
||||||
|
#define TEMPMON1_SENSOR1 (TEMPMON_BASE + 0x08)
|
||||||
|
/* Temperature in °C x 256 (LM75A 0x92 or ADM1032 Int) */
|
||||||
|
#define TEMPMON1_SENSOR2 (TEMPMON_BASE + 0x0C)
|
||||||
|
|
||||||
// V2 Temperature Monitor 2 ADM1032
|
/* V2 Temperature Monitor 2 ADM1032 */
|
||||||
|
|
||||||
#define TEMPMON2_BOARD (TEMPMON_SENSOR0) // SHORT Temperature in °C x 256 (ADM1032 int)
|
/* Temperature in °C x 256 (ADM1032 int) */
|
||||||
#define TEMPMON2_FPGACORE (TEMPMON_SENSOR1) // SHORT Temperature in °C x 256 (ADM1032 ext)
|
#define TEMPMON2_BOARD (TEMPMON_SENSOR0)
|
||||||
#define TEMPMON2_QAMCORE (TEMPMON_SENSOR2) // SHORT Temperature in °C x 256 (ADM1032 ext)
|
/* Temperature in °C x 256 (ADM1032 ext) */
|
||||||
#define TEMPMON2_DACCORE (TEMPMON_SENSOR2) // SHORT Temperature in °C x 256 (ADM1032 ext)
|
#define TEMPMON2_FPGACORE (TEMPMON_SENSOR1)
|
||||||
|
/* Temperature in °C x 256 (ADM1032 ext) */
|
||||||
|
#define TEMPMON2_QAMCORE (TEMPMON_SENSOR2)
|
||||||
|
/* SHORT Temperature in °C x 256 (ADM1032 ext) */
|
||||||
|
#define TEMPMON2_DACCORE (TEMPMON_SENSOR2)
|
||||||
|
|
||||||
/* ------------------------------------------------------------------------- */
|
/* ------------------------------------------------------------------------- */
|
||||||
/* I2C Master Controller */
|
/* I2C Master Controller */
|
||||||
@ -302,7 +307,7 @@
|
|||||||
#define CI_BLOCKIO_SEND_BUFFER(i) \
|
#define CI_BLOCKIO_SEND_BUFFER(i) \
|
||||||
(CI_BUFFER_BASE + (i) * CI_BUFFER_SIZE + CI_BLOCKIO_BUFFER_SIZE)
|
(CI_BUFFER_BASE + (i) * CI_BUFFER_SIZE + CI_BLOCKIO_BUFFER_SIZE)
|
||||||
|
|
||||||
// V1
|
/* V1 */
|
||||||
|
|
||||||
#define VCO1_BASE (0xC0)
|
#define VCO1_BASE (0xC0)
|
||||||
#define VCO1_CONTROL (VCO1_BASE + 0x00)
|
#define VCO1_CONTROL (VCO1_BASE + 0x00)
|
||||||
@ -340,10 +345,14 @@
|
|||||||
#define MAX2871_CONTROL (MAX2871_BASE + 0x00)
|
#define MAX2871_CONTROL (MAX2871_BASE + 0x00)
|
||||||
#define MAX2871_OUTDATA (MAX2871_BASE + 0x04)
|
#define MAX2871_OUTDATA (MAX2871_BASE + 0x04)
|
||||||
#define MAX2871_INDATA (MAX2871_BASE + 0x08)
|
#define MAX2871_INDATA (MAX2871_BASE + 0x08)
|
||||||
#define MAX2871_CONTROL_WRITE (0x00000001) // 1 = Trigger write, resets when done
|
/* 1 = Trigger write, resets when done */
|
||||||
#define MAX2871_CONTROL_CE (0x00000002) // 0 = Put VCO into power down
|
#define MAX2871_CONTROL_WRITE (0x00000001)
|
||||||
#define MAX2871_CONTROL_MUXOUT (0x00000004) // Muxout from VCO
|
/* 0 = Put VCO into power down */
|
||||||
#define MAX2871_CONTROL_LOCK (0x00000008) // Lock from VCO
|
#define MAX2871_CONTROL_CE (0x00000002)
|
||||||
|
/* Muxout from VCO */
|
||||||
|
#define MAX2871_CONTROL_MUXOUT (0x00000004)
|
||||||
|
/* Lock from VCO */
|
||||||
|
#define MAX2871_CONTROL_LOCK (0x00000008)
|
||||||
|
|
||||||
#define FSM_BASE (0x200)
|
#define FSM_BASE (0x200)
|
||||||
#define FSM_CONTROL (FSM_BASE + 0x00)
|
#define FSM_CONTROL (FSM_BASE + 0x00)
|
||||||
@ -378,7 +387,7 @@
|
|||||||
#define FSM_GAIN_N96 (0x00000011)
|
#define FSM_GAIN_N96 (0x00000011)
|
||||||
|
|
||||||
|
|
||||||
// Attenuator/VGA
|
/* Attenuator/VGA */
|
||||||
|
|
||||||
#define RF_ATTENUATOR (0xD8)
|
#define RF_ATTENUATOR (0xD8)
|
||||||
#define RF_ATTENUATOR (0xD8)
|
#define RF_ATTENUATOR (0xD8)
|
||||||
@ -556,9 +565,9 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
// V2
|
/* V2 */
|
||||||
|
|
||||||
// MAX2871 same as DVB Modulator V2
|
/* MAX2871 same as DVB Modulator V2 */
|
||||||
|
|
||||||
#define RFDAC_BASE (0x200)
|
#define RFDAC_BASE (0x200)
|
||||||
#define RFDAC_CONTROL (RFDAC_BASE + 0x00)
|
#define RFDAC_CONTROL (RFDAC_BASE + 0x00)
|
||||||
@ -575,19 +584,14 @@
|
|||||||
|
|
||||||
#define RFDAC_FCW (RFDAC_BASE + 0x10)
|
#define RFDAC_FCW (RFDAC_BASE + 0x10)
|
||||||
|
|
||||||
//
|
|
||||||
// --------------------------------------------------------------------------
|
|
||||||
//
|
|
||||||
|
|
||||||
#define JESD204B_BASE (0x280)
|
#define JESD204B_BASE (0x280)
|
||||||
|
|
||||||
// Additional Status Bits
|
/* Additional Status Bits */
|
||||||
|
|
||||||
#define DMA_PCIE_LANES_MASK (0x00070000)
|
#define DMA_PCIE_LANES_MASK (0x00070000)
|
||||||
|
|
||||||
|
|
||||||
// --------------------------------------------------------------------------
|
/* Modulator Channels, partially compatible to DVB Modulator V1 */
|
||||||
// Modulator Channels, partially compatible to DVB Modulator V1
|
|
||||||
|
|
||||||
#define SDR_CHANNEL_BASE (0x800)
|
#define SDR_CHANNEL_BASE (0x800)
|
||||||
|
|
||||||
@ -604,28 +608,28 @@
|
|||||||
#define SDR_CHANNEL_FM1GAIN(i) ((SDR_CHANNEL_BASE) + (i) * 64 + 0x2C)
|
#define SDR_CHANNEL_FM1GAIN(i) ((SDR_CHANNEL_BASE) + (i) * 64 + 0x2C)
|
||||||
#define SDR_CHANNEL_FM2GAIN(i) ((SDR_CHANNEL_BASE) + (i) * 64 + 0x30)
|
#define SDR_CHANNEL_FM2GAIN(i) ((SDR_CHANNEL_BASE) + (i) * 64 + 0x30)
|
||||||
|
|
||||||
// Control and status bits
|
/* Control and status bits */
|
||||||
#define SDR_CONTROL_ENABLE_CHANNEL (0x00000004)
|
#define SDR_CONTROL_ENABLE_CHANNEL (0x00000004)
|
||||||
#define SDR_CONTROL_ENABLE_DMA (0x00000008)
|
#define SDR_CONTROL_ENABLE_DMA (0x00000008)
|
||||||
#define SDR_STATUS_DMA_UNDERRUN (0x00010000)
|
#define SDR_STATUS_DMA_UNDERRUN (0x00010000)
|
||||||
|
|
||||||
// Config
|
/* Config */
|
||||||
#define SDR_CONFIG_ENABLE_FM1 (0x00000002)
|
#define SDR_CONFIG_ENABLE_FM1 (0x00000002)
|
||||||
#define SDR_CONFIG_ENABLE_FM2 (0x00000004)
|
#define SDR_CONFIG_ENABLE_FM2 (0x00000004)
|
||||||
#define SDR_CONFIG_DISABLE_ARI (0x00000010)
|
#define SDR_CONFIG_DISABLE_ARI (0x00000010)
|
||||||
#define SDR_CONFIG_DISABLE_VSB (0x00000020)
|
#define SDR_CONFIG_DISABLE_VSB (0x00000020)
|
||||||
|
|
||||||
// SET FIR
|
/* SET FIR */
|
||||||
#define SDR_FIR_COEFF_MASK (0x00000FFF)
|
#define SDR_FIR_COEFF_MASK (0x00000FFF)
|
||||||
#define SDR_FIR_TAP_MASK (0x001F0000)
|
#define SDR_FIR_TAP_MASK (0x001F0000)
|
||||||
#define SDR_FIR_SELECT_MASK (0x00C00000)
|
#define SDR_FIR_SELECT_MASK (0x00C00000)
|
||||||
#define SDR_VSB_LENGTH_MASK (0x01000000)
|
#define SDR_VSB_LENGTH_MASK (0x01000000)
|
||||||
|
|
||||||
#define SDR_SET_FIR(select, tap, coeff, vsblen) \
|
#define SDR_SET_FIR(select, tap, coeff, vsblen) \
|
||||||
((((select)<<22)&SDR_FIR_SELECT_MASK)| \
|
((((select) << 22) & SDR_FIR_SELECT_MASK) | \
|
||||||
(((tap)<<16)&SDR_FIR_TAP_MASK)| \
|
(((tap) << 16) & SDR_FIR_TAP_MASK) | \
|
||||||
((coeff)&SDR_FIR_COEFF_MASK)| \
|
((coeff) & SDR_FIR_COEFF_MASK) | \
|
||||||
(((vsblen)<<24)&SDR_VSB_LENGTH_MASK)| \
|
(((vsblen) << 24) & SDR_VSB_LENGTH_MASK) | \
|
||||||
0 \
|
0 \
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -16,10 +16,8 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, point your browser to
|
||||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
* http://www.gnu.org/copyleft/gpl.html
|
||||||
* 02110-1301, USA
|
|
||||||
* Or, point your browser to http://www.gnu.org/copyleft/gpl.html
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _DDBRIDGE_H_
|
#ifndef _DDBRIDGE_H_
|
||||||
@ -30,7 +28,7 @@
|
|||||||
|
|
||||||
#include <linux/version.h>
|
#include <linux/version.h>
|
||||||
|
|
||||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0))
|
#if (KERNEL_VERSION(3, 8, 0) < LINUX_VERSION_CODE)
|
||||||
#define __devexit
|
#define __devexit
|
||||||
#define __devinit
|
#define __devinit
|
||||||
#define __devinitconst
|
#define __devinitconst
|
||||||
@ -129,11 +127,7 @@ struct ddb_regmap {
|
|||||||
struct ddb_regset *output;
|
struct ddb_regset *output;
|
||||||
|
|
||||||
struct ddb_regset *channel;
|
struct ddb_regset *channel;
|
||||||
//struct ddb_regset *ci;
|
|
||||||
//struct ddb_regset *pid_filter;
|
|
||||||
//struct ddb_regset *ns;
|
|
||||||
struct ddb_regset *gtl;
|
struct ddb_regset *gtl;
|
||||||
//struct ddb_regset *mdio;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct ddb_ids {
|
struct ddb_ids {
|
||||||
@ -354,8 +348,6 @@ struct mod_base {
|
|||||||
|
|
||||||
struct ddb_mod {
|
struct ddb_mod {
|
||||||
struct ddb_port *port;
|
struct ddb_port *port;
|
||||||
//u32 nr;
|
|
||||||
//u32 regs;
|
|
||||||
|
|
||||||
u32 frequency;
|
u32 frequency;
|
||||||
u32 modulation;
|
u32 modulation;
|
||||||
@ -545,7 +537,8 @@ int ddbridge_flashread(struct ddb *dev, u32 link, u8 *buf, u32 addr, u32 len);
|
|||||||
|
|
||||||
/* linked function prototypes */
|
/* linked function prototypes */
|
||||||
|
|
||||||
struct ddb_info *get_ddb_info(u16 vendor, u16 device, u16 subvendor, u16 subdevice);
|
struct ddb_info *get_ddb_info(u16 vendor, u16 device,
|
||||||
|
u16 subvendor, u16 subdevice);
|
||||||
int netstream_init(struct ddb_input *input);
|
int netstream_init(struct ddb_input *input);
|
||||||
int ddb_dvb_ns_input_start(struct ddb_input *input);
|
int ddb_dvb_ns_input_start(struct ddb_input *input);
|
||||||
int ddb_dvb_ns_input_stop(struct ddb_input *input);
|
int ddb_dvb_ns_input_stop(struct ddb_input *input);
|
||||||
|
@ -17,10 +17,8 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, point your browser to
|
||||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
* http://www.gnu.org/copyleft/gpl.html
|
||||||
* 02110-1301, USA
|
|
||||||
* Or, point your browser to http://www.gnu.org/copyleft/gpl.html
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "ddbridge.h"
|
#include "ddbridge.h"
|
||||||
|
Loading…
Reference in New Issue
Block a user