_lock);
>
> dev_info(dev, "IXP4xx Queue Manager initialized.\n");
> return 0;
--
Krzysztof Hałasa
Sieć Badawcza Łukasiewicz
Przemysłowy Instytut Automatyki i Pomiarów PIAP
Al. Jerozolimskie 202, 02-486 Warszawa
nts on the pixel clock as well
(the active scanning must be as fast as possible, which means fast pixel
clock, minimum possible hblank and thus long vblank).
All comments are appreciated.
--
Krzysztof Hałasa
Sieć Badawcza Łukasiewicz
Przemysłowy Instytut Automatyki i Pomiarów PIAP
Al. Jerozolimskie 202, 02-486 Warszawa
ny of the regexes: 'pinctrl-[0-9]+'
From schema:
/usr/src/linux/imx6/Documentation/devicetree/bindings/media/i2c/onnn,ar0521.yaml
Thus I'm currently leaving it as is.
--
Krzysztof Hałasa
Sieć Badawcza Łukasiewicz
Przemysłowy Instytut Automatyki i Pomiarów PIAP
Al. Jerozolimskie 202, 02-486 Warszawa
gulators when starting streaming ?
>
> I forgot to mention in the review of the DT bindings that regulators
> should be specified in DT.
Why? The hw using this driver doesn't have capability to disable
regulators. If someone produces hw with means to control power, the sw
support can be trivially added. When I last checked, we didn't add
driver code for functionality for which no hw support exists, did we?
--
Krzysztof Hałasa
Sieć Badawcza Łukasiewicz
Przemysłowy Instytut Automatyki i Pomiarów PIAP
Al. Jerozolimskie 202, 02-486 Warszawa
Laurent,
Laurent Pinchart writes:
>> +const: on-semi,ar0521
>
> That's not the correct prefix for ON Semiconductor. See
> Documentation/devicetree/bindings/vendor-prefixes.yaml. Or just the name
> of this file :-)
Right, just missed this one. Thanks for the comments.
--
Krzysztof Halasa
S
Is there a reliable way to include national unicode characters in the
kernel sources?
For review only. This will be signed off when (if) the driver is
accepted.
diff --git a/MAINTAINERS b/MAINTAINERS
index bfc1b86e3e73..20514c00909b 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1294,6 +1294,12 @
This file documents DT bindings for the AR0521 camera sensor driver.
Signed-off-by: Krzysztof Halasa
diff --git a/Documentation/devicetree/bindings/media/i2c/onnn,ar0521.yaml
b/Documentation/devicetree/bindings/media/i2c/onnn,ar0521.yaml
new file mode 100644
index ..f649d4cbcb37
---
Arnd,
Arnd Bergmann writes:
> For these I received no reply yet. Again, these will stay for the moment
> unless I get a reply, but if anyone has more information, please reply
> here to document the status (adding a few more people to Cc):
>
> * cns3xxx -- added in 2010, last fixed in 2019, prob
Xie He writes:
> The HDLC device is not actually prepending any header when it is used
> with this driver. When the PVC device has prepended its header and
> handed over the skb to the HDLC device, the HDLC device just hands it
> over to the hardware driver for transmission without prepending any
Hello Xie,
Xie He writes:
> This driver didn't set hard_header_len. This patch sets hard_header_len
> for it according to its header_ops->create function.
BTW it's 4 bytes long:
struct hdlc_header {
u8 address;
u8 control;
__be16 protocol;
}__packed;
OTOH hdlc_setup_de
rcu_read_unlock();
goto end;
--
Krzysztof Hałasa
ŁUKASIEWICZ Research Network
Industrial Research Institute for Automation and Measurements PIAP
Al. Jerozolimskie 202, 02-486 Warsaw, Poland
KERN_DEBUG "SEQ BAD: %u vs %u\n", mpdu_seq_num,
head_seq_num);
dev_kfree_skb(skb);
goto out;
- }
+ } else
+ printk(KERN_DEBUG "SEQ OK: %u vs %u\n", mpdu_seq_num,
head_seq_num);
/*
* If frame the sequence number exceed
tid_rx->head_seq_num = start_seq_num;
status = WLAN_STATUS_SUCCESS;
- else
+ } else
status = WLAN_STATUS_REQUEST_DECLINED;
rcu_read_unlock();
"Enrico Weigelt, metux IT consult" writes:
> Formatting of Kconfig files doesn't look so pretty, so let the
> Great White Handkerchief come around and clean it up.
>
> Signed-off-by: Enrico Weigelt, metux IT consult
> ---
> arch/arm/mach-ixp4xx/Kconfig | 32 ++---
Acked
90ad2cbe88c22d0215225ab9594eeead0eb24fde changed the i.MX I2C bus driver
to use a notifier whenever the base clock ("ipg" - 66 MHz peripheral
clock) rate changes.
Unfortunately one can't use the container_of() macro this way - the
first argument has to point to a member of the bigger struct (last
Hi Fabio,
Fabio Estevam writes:
> Please provide a commit log, giving some context to your fix.
Well, I hope Lucas could add something here. I am uncertain how it was
supposed to work, the ndata->clk (the pointer, not the clk pointed by
it) can't be at the same time a member of imx_i2c_struct,
Signed-off-by: Krzysztof Halasa
--- a/drivers/i2c/busses/i2c-imx.c
+++ b/drivers/i2c/busses/i2c-imx.c
@@ -510,9 +510,9 @@ static int i2c_imx_clk_notifier_call(struct notifier_block
*nb,
unsigned long action, void *data)
{
struct clk_notifier_data *nd
Arnd Bergmann writes:
> The platform_nand_data structure definition is required for ixdp425
> but has now moved to a new header file:
>
> arch/arm/mach-ixp4xx/ixdp425-setup.c:98:15: error: variable
> 'ixdp425_flash_nand_data' has initializer but incomplete type
> static struct platform_nand_dat
Arnd Bergmann writes:
> An empty macro definition can cause unexpected behavior, in
> case of the ixp4xx ioport_unmap, we get two warnings:
>
> drivers/net/wireless/marvell/libertas/if_cs.c: In function 'if_cs_release':
> drivers/net/wireless/marvell/libertas/if_cs.c:826:3: error: suggest braces
ot;,
> &cns3xxx_usb_ehci_pdata },
> { "intel,usb-ohci", CNS3XXX_USB_OHCI_BASE, "ohci-platform",
> &cns3xxx_usb_ohci_pdata },
> { "cavium,cns3420-ahci", CNS3XXX_SATA2_BASE, "ahci", NULL },
Acked-by: Krzysztof Hałasa
--
Krzysztof Halasa
Industrial Research Institute for Automation and Measurements PIAP
Al. Jerozolimskie 202, 02-486 Warsaw, Poland
Philipp Zabel writes:
> I had already (accidentally) fixed this with 3fd8b292ae6b ("drm/imx:
> ipuv3-plane: merge ipu_plane_atomic_set_base into atomic_update").
Thanks, I've merged your pza/imx-drm/next and it now works.
--
Krzysztof Halasa
Industrial Research Institute for Automation and Mea
miaoq...@codeaurora.org writes:
>> rmmod ath9k
>> modprobe ath9k
>> iw dev wlan0 set type ibss
>> iw phy phyX set antenna 2
>
> 2 is a bad mask. We use bitmap, the valid masks are 1, 3, 7.
Thanks for your response.
I have two antenna connections (and a single antenna). Is it possible to
select t
Hi,
Florian Fainelli writes:
> This function just calls into genphy_restart_aneg() to perform an
> autonegotation restart.
>
> +int phy_ethtool_nway_reset(struct net_device *ndev)
> +{
> + struct phy_device *phydev = ndev->phydev;
> +
> + if (!phydev)
> + return -ENODEV;
> +
Hi,
The following GStreamer pipeline causes screen to become green with
v4.9-rc4+:
gst-launch-1.0 udpsrc uri=udp://239.1.2.2:5100 reuse=true
caps="application/x-rtp,media=(string)video,clock-rate=(int)9,encoding-name=(string)H264"
! rtph264depay ! h264parse ! v4l2video1dec capture-io-mode=d
Hi,
I recently tried to select a single antenna on AR9300 and it works for
30 seconds only. The subsequent calibration makes the RX signal level to
drop from the usual -30/-40 dBm to -70/-80 dBm, and the transmission
practically stops.
With the attached patch it works, though selecting the antenn
Hi,
I came across a problem with an USB SD card reader apparently causing
USB resets and corrupting data on the card.
The reader in question is a very cheap:
14cd:1212 Super Top microSD card reader (SY-T18)
The card is an old SDHC, 32 GB, Sandisk brand.
The problems don't seem to exist now if I
Andrey Utkin writes:
> --- a/drivers/media/pci/solo6x10/solo6x10.h
> +++ b/drivers/media/pci/solo6x10/solo6x10.h
> @@ -284,7 +284,10 @@ static inline u32 solo_reg_read(struct solo_dev
> *solo_dev, int reg)
> static inline void solo_reg_write(struct solo_dev *solo_dev, int reg,
>
Jarod Wilson writes:
> - set min/max_mtu in all hdlc drivers, remove hdlc_change_mtu
> - sent max_mtu in lec driver, remove lec_change_mtu
> drivers/net/wan/c101.c| 1 -
> drivers/net/wan/hdlc.c| 11 ++-
> drivers/net/wan/hdlc_fr.c | 3 ++-
> drivers/ne
Andrey Utkin writes:
> Lockup happens only on 6010. In provided log you can see that 6110
> passes just fine right before 6010. Also if 6010 PCI ID is removed from
> solo6x10 driver's devices list, the freeze doesn't happen.
Probably explains why I don't see lockups :-)
I will have a look.
--
Andrey Utkin writes:
>> Can you share some details about the machine you are experiencing the
>> problems on? CPU, chipset? I'd try to see if I can recreate the problem.
>
> See solo.txt.gz attached.
Thanks. I can see you have quite a set of video devices there.
I will see what I can do with thi
Andrey Utkin writes:
>> Does (only) adding the
>>
>> pci_read_config_word(solo_dev->pdev, PCI_STATUS, &val);
>>
>> in solo_reg_write() help?
>
> Yes.
> I have posted a patch with this change few days ago, I thought you have
> noticed it.
Well, I think you haven't sent me a copy. Anyway, i
Andrey Utkin writes:
> On Thu, Sep 22, 2016 at 10:51:37AM +0200, Krzysztof Hałasa wrote:
>> I wonder if the following fixes the problem (completely untested).
>
> I have given this a run, and it still hangs.
Does (only) adding the
pci_read_config_word(solo_dev->pdev
Andrey Utkin writes:
> It happens in solo_disp_init at uploading default motion thresholds
> array.
>
> I've got a prints trace with solo6010-fix-lockup branch
> https://github.com/bluecherrydvr/linux/tree/solo6010-fix-lockup/drivers/media/pci/solo6x10
> the trace itself in jpg:
> https://decent.
Hans Verkuil writes:
> That was probably the reason for the pci_read_config_word in the reg_write
> code. Try putting that back (and just that).
Yes. I guess a single pci_read_config_word() would suffice.
Though it would obviously be much better to identify the place in the
driver which needs t
Hi Lino,
"Lino Sanfilippo" writes:
>> maybe I miss something, but the ixp4 ethernet driver seems to handle dma
>> pools
>> in a wrong way: In init_queues() it creates a dma pool for descriptors and
>> then
>> only allocates a single descriptor from this pool. The author seems to
>> assume t
SF Markus Elfring writes:
> The video_unregister_device() function tests whether its argument is NULL
> and then returns immediately. Thus the test around the call is not needed.
>
> This issue was detected by using the Coccinelle software.
>
> Signed-off-by: Markus Elfring
> ---
> drivers/stag
Arnd Bergmann writes:
> I'd start by copying the relevant nodes from
> arch/arm/boot/dts/arm-realview-pb11mp.dts, which is the closest
> I can think of. I've put together something completely untested
> below.
Thanks. I will try to handle that. 3+ weeks, unfortunately.
Now, what do we do with t
Arnd Bergmann writes:
> Before that, we were always setting both mrrs and mps. As we don't know
> who uses PCIE_BUS_PEER2PEER, maybe another option would be to add yet
> another pcie_bus_config value for this particular quirk?
It would be a safe approach.
Or, maybe another non-pcie_bus_config th
Payload Size set to 128/ 128 (was 128), Max Read Rq 128
Signed-off-by: Krzysztof Hałasa
Fixes: 498a92d42596 ("ARM: cns3xxx: pci: avoid potential stack overflow")
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index 6d7ab9b..91713b6 100644
--- a/drivers/pci/probe.c
+++ b/driv
: Arnd Bergmann
> CC: Krzysztof Hałasa
> ---
> arch/arm/mach-cns3xxx/pcie.c | 71
> --
> 1 file changed, 41 insertions(+), 30 deletions(-)
This, applied to v4.7-rc1, fixes the problem on my Laguna boards.
Tested-by: Krzysztof Hałasa
And
Bjorn Helgaas writes:
> It looks like 498a92d42596 merely fixed a warning, at the expense of
> breaking DMA on Cavium. Reverting it would bring the warning back, but
> that's better than broken DMA.
Perhaps we should change PCIE_BUS_PEER2PEER to also write MRRS anyway.
I realize the CNS3xxx pa
Eric Engestrom writes:
> I can't confirm it (haven't tried), and don't care enough to do it :]
> I guess I'm just dropping the patch then. Like I said, it can't hurt to
> leave them in.
Actually it may hurt (a little bit) - it makes the code less readable.
--
Krzysztof Halasa
Industrial Resear
Tim,
> So perhaps there is something else going on with the tw8689
> device/driver that is causing it to not work with MSI. We have an
> avc8000 miniPCIe with tw8689 here and can test if you send me your
> patches that enable tw8689 with msi.
I think you can use this:
http://git.linuxtv.org/hverk
Lucas Stach writes:
>> TW6869: PCI :04:00.0, IRQ 336, MMIO 0x110
>> TW686x :04:00.0: enabling device (0140 -> 0142)
>>
> I don't see whee the device even tries to use MSI IRQs. Even if the
> infrastructure is enabled it opts to use legacy INTA.
It only tries to use normal IRQ.
> The
Lucas Stach writes:
> Is this working with v4.4 and PCI_MSI enabled? I'm sure I've tested MSI
> IRQs before enabling them in the defconfig and they have been working
> for me for a long time before that. Tested with i210 on Gateworks
> Ventana.
MSI never worked for me on Ventana. I have been usi
> OTOH, we should fix it some day, making sure the DTS files are fixed
> first:
>
> imx6qdl-apf6dev.dtsi: reset-gpio = <&gpio6 2 GPIO_ACTIVE_HIGH>;
> imx6qdl-aristainetos2.dtsi: reset-gpio = <&gpio2 16 GPIO_ACTIVE_HIGH>;
> imx6qdl-hummingboard.dtsi: reset-gpio = <&gpio3 4 0>; (I think RMK al
Fabio Estevam writes:
> In order to keep old dtb's working we should simply ignore the GPIO
> flags passed in the 'reset-gpio' property.
>
> That's why we need a revert. Just sent a v2, BTW.
OTOH, we should fix it some day, making sure the DTS files are fixed
first:
imx6qdl-apf6dev.dtsi:
Tim Harvey writes:
> It's not too easy to tell how many IMX6 boards incorrectly specify
> their reset-gpio polarity. I don't know what the best way to determine
> what boards use the IMX6 pcie host controller. Is there a dtc usage
> that will display the compiled dtb's then we grep out 'compatibl
Tim Harvey writes:
> ok - I'll respond there as I agree with the patch but not the wording
> of the commit (It's Gateworks 'Ventana' using IMX6 not Laguna and we
> do define the polarity properly as active-low in Ventana dt's).
Right, it's Ventana of course (I had been working with Laguna boards
0x0100, using [bus 00-ff]
IO 0x01f8..0x01f8 -> 0x
MEM 0x0100..0x01efffff -> 0x01000000
imx6q-pcie 1ffc000.pcie: phy link never came up
Signed-off-by: Krzysztof Hałasa
diff --git a/drivers/pci/host/pci-imx6.c b/drivers/pci/host/pci-imx6.c
index fe60096..f17fb02 100644
Bjorn Helgaas writes:
>> At least CNS3xxx doesn't boot. I haven't verified a couple of others,
>> but they may be broken as well.
>
> Good, thanks. Also (I should have asked this before), please include a
> "Fixes:" line so we know exactly when this broke and what stable kernels
> need the fix.
Hi Bjorn,
Bjorn Helgaas writes:
> On Tue, Mar 01, 2016 at 07:07:18AM +0100, Krzysztof Hałasa wrote:
>> Many ARM platforms use a wrapper:
>> /*
>> * Compatibility wrapper for older platforms that do not care about
>> * passing the parent device.
>> */
>
Signed-off-by: Krzysztof Hałasa
diff --git a/arch/arm/mach-cns3xxx/cns3xxx.h b/arch/arm/mach-cns3xxx/cns3xxx.h
index a0f5b60..a642ba5 100644
--- a/arch/arm/mach-cns3xxx/cns3xxx.h
+++ b/arch/arm/mach-cns3xxx/cns3xxx.h
@@ -162,13 +162,11 @@
#define CNS3XXX_L2C_BASE
diff --git a/arch/arm/mach-cns3xxx/cns3xxx.h b/arch/arm/mach-cns3xxx/cns3xxx.h
index a0f5b60..a642ba5 100644
--- a/arch/arm/mach-cns3xxx/cns3xxx.h
+++ b/arch/arm/mach-cns3xxx/cns3xxx.h
@@ -162,13 +162,11 @@
#define CNS3XXX_L2C_BASE 0x9200 /* L2 Cache
Control */
#
without
a parent. This patch fixes the NULL pointer dereference.
Signed-off-by: Krzysztof Hałasa
Cc: sta...@vger.kernel.org
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index 602eb42..f89db3a 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -4772,8 +4772,10 @@ int
Arnd Bergmann writes:
> Ok, so I guess what this means is that ixp4xx (or xscale in general)
> implements its big-endian mode by adding a byteswap on its DRAM
> and PCI interfaces in be32 mode, rather than by changing the behavior of
> the load/store operations (as be8 mode does) or by having the
Arnd Bergmann writes:
> ixp4xx is really special in that it performs hardware swapping for
> internal devices based on CPU endianess but not on PCI devices.
Again, IXP4xx does not perform hardware (nor any other) swapping for
registers of on-chip devices. The registers are connected 1:1,
bit 0 t
Arnd Bergmann writes:
> Both writes leave the CPU core within the spinlock but are not serialized
> with anything else, so there is no ordering between the CPUs when they
> enter the shared bus, other than having address before data. You'd
> expect to see address0, data0, address1, data1, but it
Kefeng Wang writes:
> Use helper of_platform_default_populate() in linux/of_platform
> when possible, instead of calling of_platform_populate() with
> the default match table.
> --- a/arch/arm/mach-cns3xxx/core.c
> +++ b/arch/arm/mach-cns3xxx/core.c
> @@ -395,8 +395,7 @@ static void __init cns3xx
Arnd Bergmann writes:
> The barriers on a spinlock synchronize between CPUs but not an external
> bus, so (on some architectures) a spinlock protecting an MMIO register
> does not guarantee that two CPUs doing
>
> spin_lock();
> __raw_writel(address);
> __raw_writel(data);
>
Arnd Bergmann writes:
> I consider the use of __raw_* accessors a bug, I don't think we should
> ever do that because it hides how the hardware actually works, it doesn't
> work with spinlocks, and it can lead to the compiler splitting up accesses
> into byte sized ones (not on ARM with the curre
Arnd Bergmann writes:
>> Anyway, I think readl()/writel() do the right thing: in BE mode they
>> swap PCI accesses and don't swap normal registers, in LE mode nothing is
>> swapped.
>
> This seems to be true when CONFIG_IXP4XX_INDIRECT_PCI is set, but
> not otherwise. For the indirect variant, wr
gt; around '+' in operand of '&' [-Wparentheses]
> io_mem = ioport_map(ioport & ~3, NETCARD_IO_EXTENT);
>
> Simply adding parentheses in the macro avoids the warning
>
> Signed-off-by: Arnd Bergmann
> ---
> arch/arm/mach-ixp4xx/include/mach/io.h | 2 +-
x/common-pci.c | 98
> ++
> arch/arm/mach-ixp4xx/include/mach/io.h | 95 +++-----
> 2 files changed, 104 insertions(+), 89 deletions(-)
Acked-by: Krzysztof Hałasa
--
Krzysztof Halasa
Industrial Research Institute for Automation and Measurements PIAP
Al. Jerozolimskie 202, 02-486 Warsaw, Poland
her definitions of the same functions pass void pointers,
> so doing the same here avoids the warnings.
>
> Signed-off-by: Arnd Bergmann
> ---
> arch/arm/mach-ixp4xx/include/mach/io.h | 23 +--
> 1 file changed, 17 insertions(+), 6 deletions(-)
Acked-by:
Masahiro Yamada writes:
> The variable "MACHINE" is empty if CONFIG_ARCH_MULTIPLATFORM=y,
> so these Makefile.boot files are never included.
>
> Signed-off-by: Masahiro Yamada
> ---
>
> arch/arm/mach-cns3xxx/Makefile.boot | 3 ---
Acked-by: Krzysztof Hałasa
-
Arnd Bergmann writes:
> The unclear part here is for IXP4xx, which supports both big-endian
> and little-endian configurations. So far, the driver has done
> no byteswap in either case. I suspect that is wrong and it would
> actually need to swap in one or the other case, but I don't know
> which
Arnd Bergmann writes:
> This addresses both issues by moving all the definitions into the
> pxa25x_udc driver itself. It turns out the only difference between
> them was 'UDCCS_IO_ROF', and that could well be a mistake when it
> was incorrectly copied from pxa25x to ixp4xx.
>
> Signed-off-by: Arn
Arnd Bergmann writes:
> On ixp4xx, the readl() function returns an 'unsigned long' output
> when indirect I/O is used. This is unlike any other platform, and
> it causes lots of harmless compiler warnings, such as:
>
> drivers/ata/libahci.c: In function 'ahci_show_host_version':
> drivers/ata/lib
SF Markus Elfring writes:
> The dma_pool_destroy() function tests whether its argument is NULL
> and then returns immediately. Thus the test around the call is not needed.
>
> This issue was detected by using the Coccinelle software.
> --- a/drivers/net/ethernet/xscale/ixp4xx_eth.c
> +++ b/drive
SF Markus Elfring writes:
> The dma_pool_destroy() function tests whether its argument is NULL
> and then returns immediately. Thus the test around the call is not needed.
>
> This issue was detected by using the Coccinelle software.
> --- a/drivers/net/wan/ixp4xx_hss.c
> +++ b/drivers/net/wan/i
/pcie.c | 71
> +
I'm ATM unable to test this change, but will do that at some point.
Meanwhile, I guess there is nothing I can say against this patch.
Thanks.
Acked-by: Krzysztof Hałasa
--
Krzysztof Halasa
Industrial Research Institute for Automation and Measurements PIAP
Al. J
Andrey Utkin writes:
[H.264 headers]
> I guess that one acceptable way is to pre-generate all headers for all
> needed cases and ship them inlined; for correctness checking purpose,
> it is possible to ship also a script or additional source code file
> which is able to generate same headers.
I
Joe Perches writes:
>> So, could we have the localized readability when it makes sense,
>> and the default rules when nothing else applies?
>
> Then the question becomes how local.
The answer seems easy to me: as much as it's needed to get the best
readability.
If that means 4 or 2 custom forma
Joe Perches writes:
> Nah, you're not an extremist, you're just preferring narrowly
> localized readability over global consistency.
>
> That's fine and all, until you come up to LCONSOLE_ERROR_MSG
> type use which blows the nice old formatting up.
>
> So what I suggested is just a simple consist
Joe Perches writes:
> -#define LCONSOLE(mask, format, ...) CDEBUG(D_CONSOLE | (mask), format, ##
> __VA_ARGS__)
> -#define LCONSOLE_INFO(format, ...) CDEBUG_LIMIT(D_CONSOLE, format, ##
> __VA_ARGS__)
> -#define LCONSOLE_WARN(format, ...) CDEBUG_LIMIT(D_CONSOLE | D_WARNING,
> format, ## __VA_
Mario Bambagini writes:
> Defines have been written in more than one line to match the 80-character
> rule. This error has been fixed 6 times in this file.
> The file is fully compliant with respect to the coding rules now.
Rules, maybe. But is it better, i.e., more readable?
> --- a/drivers/st
Joe Perches writes:
> #define VDREG8(a0) ((const u16[]){\
> a0 + 0x000, a0 + 0x010, a0 +0x020, a0 + 0x030, \
> a0 + 0x100, a0 + 0x110, a0 +0x120, a0 + 0x130})
>
> as "const u16[]" is a $Type but "const u16[]" is not.
>
> Still, as written, the code seems fragile a
Joe Perches writes:
> It might be better to use some base + index macro
> as it could be smaller object code.
>
> Something like:
>
> #define REG_NO(base, multiplier, index) (base + (multiplier * index))
>
> reg_write(vc->dev, REG_NO(0x10, 1, vc->ch), dma_cfg);
> or
>
> #define VDMA_C
Bjorn Helgaas writes:
>> Intersil/Techwell TW686[4589]-based video capture cards have an empty
>> (zero) class code. Fix it.
>>
> Applied to pci/misc for v4.2, with minor tweak as below to use
> PCI_CLASS_MULTIMEDIA_OTHER instead of a bare number. Let me know
> if you see any issues with this.
Joe Perches writes:
> How is the macro used?
> #define REG8_1(a0) ((const u16[8]){a0, a0 + 1, a0 + 2, a0 + 3})
#define REG8_1(a0) ((const u16[8]){a0, a0 + 1, a0 + 2, a0 + 3, a0 + 4, a0 + 5,
a0 + 6, a0 + 7})
#define REG8_2(a0) ((const u16[8]){a0, a0 + 2, a0 + 4, a0 + 6, a0 + 8, a0 +
0xA, a0 + 0
Frans Klaver writes:
> Ah, right. One might say that this is a false positive, but that's up
> to Joe or Andy I guess.
>
> It may be valid C code, but I think this construction is slightly
> funky to begin with.
>
> Which file is this?
A new file, not yet sent anywhere.
--
Krzysztof Halasa
Ind
Frans Klaver writes:
>> #define REG8_1(a0) ((const u16[8]){a0, a0 + 1, a0 + 2, a0 + 3})
>>
>> vs
>>
>> #define REG8_1(a0) ((const u16[8]) {a0, a0 + 1, a0 + 2, a0 + 3})
>> ^
>
> The prescribed style is to have no space between cast and castee. So,
> the top opti
eal camera in a laptop) but it at least doesn't select the
TUNERs.
Perhaps the following patch would make sense.
Signed-off-by: Krzysztof Hałasa
--- a/drivers/media/pci/Kconfig
+++ b/drivers/media/pci/Kconfig
@@ -11,16 +11,16 @@ if MEDIA_PCI_SUPPORT
if MEDIA_CAMERA_SUPPORT
comment &q
Hi,
a simple question: which style is preferred?
#define REG8_1(a0) ((const u16[8]){a0, a0 + 1, a0 + 2, a0 + 3})
vs
#define REG8_1(a0) ((const u16[8]) {a0, a0 + 1, a0 + 2, a0 + 3})
^
--
Krzysztof Halasa
Industrial Research Institute for Automation and Measu
Intersil/Techwell TW686[4589]-based video capture cards have an empty
(zero) class code. Fix it.
Signed-off-by: Krzysztof Hałasa
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -3662,6 +3662,26 @@ DECLARE_PCI_FIXUP_HEADER(0x1283, 0x8892,
quirk_use_pcie_bridge_dma_alias
Arnd Bergmann writes:
> The cns3xxx_pcie_hw_init function uses excessive kernel
> stack space because of a hack that puts a fake struct
> pci_sys_data and struct pci_bus on the stack in order to
> call the generic pci_bus_read_config accessors, which causes
> a warning in ARM allmodconfig builds:
Andrey Utkin writes:
> Please check first digit. I mean _5_864, in your post there's 6869.
Ok, I just thought it may be a typo. I can now see 5864 is a H.264
encoder, while 686x are simpler frame-grabbers only.
Sorry for the noise.
--
Krzysztof Halasa
Research Institute for Automation and Mea
Andrey Utkin writes:
> I am starting a work on driver for techwell tw5864 media grabber&encoder.
If this is tw6864 then I have a driver mostly completed.
Actually I'm using tw6869 but I think this is very similar (4 channels
instead of 8 and PCI instead of PCIe). I have 6864s but haven't yet
tri
Arnd Bergmann writes:
> Looks good. Krzysztof, do you want to pick this up and send me a
> pull request together with other patches, or should I apply this
> to the arm-soc fixes directly?
The latter, please.
Acked-by: Krzysztof Hałasa
--
Krzysztof Halasa
Research Institute for A
Arnd Bergmann writes:
> Most platforms use void pointer arguments in these functions, but
> ixp4xx does not, which triggers lots of warnings in device drivers like:
>
> net/ethernet/8390/ne2k-pci.c: In function 'ne2k_pci_get_8390_hdr':
> net/ethernet/8390/ne2k-pci.c:503:3: warning: passing argume
Nicholas Krause writes:
> This changes the location of the printk for montioring if the stucture pointer
> desc of type structure desc has a error count due to failing in the switch
> statement for checking it's status from the default switch case in this switch
> to the area of the function for
Rob Herring writes:
> Convert the cns3xxx PCI driver to use the generic config access functions.
>
> This changes accesses from __raw_readl/__raw_writel to readl/writel.
>
> arch/arm/mach-cns3xxx/pcie.c | 52
> +---
This looks fine:
A
dma_pool_create() needs to unlock the mutex in error case.
The bug has been present starting with v3.16-rc1 (cc6b664a).
Signed-off-by: Krzysztof Hałasa
Cc: sta...@vger.kernel.org
--- a/mm/dmapool.c
+++ b/mm/dmapool.c
@@ -174,11 +174,11 @@ struct dma_pool *dma_pool_create(const char *name
Arnd Bergmann writes:
> Applied to next/fixes-non-critical.
>
> Since the problem is not new and you didn't mark the patch as 'stable',
> this seems to be the right place. Let us know if you need backports
> to stable kernels, also fo the other patch.
Sure, BTW there is also that problem with PC
off-by: Krzysztof Hałasa
--- a/arch/arm/mach-cns3xxx/cns3420vb.c
+++ b/arch/arm/mach-cns3xxx/cns3420vb.c
@@ -246,7 +246,6 @@ static void __init cns3420_map_io(void)
MACHINE_START(CNS3420VB, "Cavium Networks CNS3420 Validation Board")
.atag_offset= 0x100,
-
off-by: Krzysztof Hałasa
--
Krzysztof Halasa
Research Institute for Automation and Measurements PIAP
Al. Jerozolimskie 202, 02-486 Warsaw, Poland
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majo
khal...@piap.pl (Krzysztof Hałasa) writes:
> This patch fixes the following BUG:
>
>> kernel BUG at mm/vmalloc.c:1132!
>> PC is at vm_area_add_early+0x20/0x84
>> LR is at add_static_vm_early+0xc/0x60
>>
>> The problem is cns3xxx_pcie_init() (device_initcal
This patch fixes the following BUG:
> kernel BUG at mm/vmalloc.c:1132!
> PC is at vm_area_add_early+0x20/0x84
> LR is at add_static_vm_early+0xc/0x60
>
> The problem is cns3xxx_pcie_init() (device_initcall) calls the "early"
> iotable_init().
Instead of merely calling the PCIe iotable_init() from
Arnd Bergmann writes:
> Patch looks good, but please add the changeset description from
> your first patch.
I wonder if another approach would be better. I don't like the .pfn
messing and the bugs that function introduces.
--
Krzysztof Halasa
Research Institute for Automation and Measurements
1 - 100 of 121 matches
Mail list logo