summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-07-17eeprom: at24: add support for at24mac seriesBartosz Golaszewski
Add a new read function to the at24 driver allowing to retrieve the factory-programmed mac address embedded in chips from the at24mac family. These chips can be instantiated similarily to the at24cs family, except that there's no way of having access to both the serial number and the mac address at the same time - the user must instantiate either an at24cs or at24mac device as both special memory areas are accessible on the same slave address. Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2016-07-17eeprom: at24: support reading the serial number for 24csxxBartosz Golaszewski
The chips from the at24cs family have two memory areas - a regular read-write block and a read-only area containing the serial number. The latter is visible on a different slave address (the address of the rw memory block + 0x08). In order to access both blocks the user needs to instantiate a regular at24c device for the rw block address and a corresponding at24cs device on the serial number block address. Add a function that allows to access the serial number and assign it to at24->read_func if the chip allows serial number read operations and the driver was passed the relevant flag for this device. Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2016-07-17eeprom: at24: platform_data: use BIT() macroBartosz Golaszewski
Use BIT() macro to replace the 0xXX constants in platform_data flags definitions. Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2016-07-17eeprom: at24: split at24_eeprom_write() into specialized functionsBartosz Golaszewski
Split at24_eeprom_write() into three smaller functions - one for the i2c operations and two for the smbus extensions (separate routines for block and byte transfers). Assign them in at24_probe() depending on the bus capabilities. Also: in order to avoid duplications move code adjusting the count argument into a separate function and use it for i2c and smbus block writes (no need for a roll-over for byte writes as we're always writing one byte). Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2016-07-17eeprom: at24: split at24_eeprom_read() into specialized functionsBartosz Golaszewski
Split at24_eeprom_read() into two smaller functions - one for the i2c operations and one for the smbus extensions. Assign them in at24_probe() depending on the bus capabilities. Also: in order to avoid duplications move the comments related to offset calculations above the at24_translate_offset() routine. Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2016-07-17eeprom: at24: hide the read/write loop behind a macroBartosz Golaszewski
Before splitting the read/write routines into smaller, more specialized functions, unduplicate some code in advance. Use a 'for' loop instead of 'do while' when waiting for the previous write to complete and hide it behind a macro. Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2016-07-17eeprom: at24: call read/write functions via function pointersBartosz Golaszewski
The first step in simplifying the read and write functions is to call them via function pointers stored in at24_data. When we eventually split the routines into smaller ones (depending on whether they use smbus or i2c operations) we'll simply assign them to said pointers instead of checking the flags at runtime every time we read/write. Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2016-07-17eeprom: at24: coding style fixesBartosz Golaszewski
Align the arguments in broken lines with the arguments list's opening brackets and make checkpatch.pl happy by converting 'unsigned' into 'unsigned int'. Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2016-07-17eeprom: at24: move at24_read() below at24_eeprom_write()Bartosz Golaszewski
In preparation for splitting at24_eeprom_write() & at24_eeprom_read() into smaller, specialized routines move at24_read() below, so that it won't be intertwined with the low-level EEPROM accessors. Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2016-07-17eeprom: at24: improve the device_id table readabilityBartosz Golaszewski
As part of the preparation for introducing support for more chips, improve the readability of the device table by separating columns with tabs. Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2016-07-17[media] extract_xc3028.pl: move it to scripts/dirMauro Carvalho Chehab
This doesn't belong at documentation. Move it to scripts. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-17[media] add DVB documentation to SphinxMauro Carvalho Chehab
Now that all DVB files got converted, add it to Sphinx build. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-17[media] doc-rst: convert udev chapter to rstMauro Carvalho Chehab
This chapter is outdated. I almost removed, but, as we're lacking documentation about how to make DVB devices persistent, I opted, instead, to keep it, and add a note about that. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-17[media] doc-rst: convert ttusb-dev to rstMauro Carvalho Chehab
There are some things that needed to be done to convert it to ReST. Also, there are some obsolete info there related to Kernels 2.4 and 2.6. Update them. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-17[media] doc-rst: Convert technisat document to ReSTMauro Carvalho Chehab
This document need some changes to be properly parsed by Sphinx. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-17[media] doc-rst: add opera-firmware.rst to DVB docsMauro Carvalho Chehab
This file is shown OK with ReST. Yet, as we changed the place where the get_dvb_firmware script is, we need to update it. While here, move the author's name to the beginning of the file. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-17[media] doc-rst: Convert lmedm04 to rst formatMauro Carvalho Chehab
This file was missing a name for the index, and weren't using any markup language. Make it looks better and convert to ReST. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-17[media] doc-rst: convert DVB FAQ to ReST formatMauro Carvalho Chehab
Convert the DVB FAQ to ReST format and add a note that this is outdated. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-17[media] doc-rst: Convert dvb-usb to ReST formatMauro Carvalho Chehab
This file is not on any markup language. Convert it to ReST format. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-17[media] doc-rst: Convert contributors list to ReSTMauro Carvalho Chehab
The contributors list needs some adjustments to be properly formatted. Also, this list has not been updated for a while. So, add a notice about that. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-17[media] doc-rst: Convert ci.txt to a rst fileMauro Carvalho Chehab
The old ci.txt file had a very peculiar format, with doesn't match any markup language I know. Change it to be on ReST format, for it to be parsed by Sphinx. Also, as this is an old document, add a note about it. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-17[media] doc-rst: convert cards to rst formatMauro Carvalho Chehab
This file is using a markup-like language, but it is not quite ReST. Convert it, and add a note pointing to the Wiki page with the known supported hardware devices. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-17[media] doc-rst: convert bt8xx doc to rstMauro Carvalho Chehab
This document almost follows a markup language, but it is not ReST. Fix it to be handled by Sphinx. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-17[media] doc-rst: Fix format of avermedia.rstMauro Carvalho Chehab
This file is almost at the ReST format, but some things need to be fixed for it to be parsed. Also, the documentation there is old. So, add a notice about that. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-17[media] doc-rst: move DVB introduction to a separate fileMauro Carvalho Chehab
Instead of keeping the introduction together with the index, move it to a separate file, and add it via toctree at the index. The information there are outdated, so update it to point to the right links. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-17[media] doc-rst: move DVB avulse docs to Documentation/mediaMauro Carvalho Chehab
There are several documentation stuff under Documentation/dvb. Move them to Documentation/media/dvb-drivers and rename them to rst, as they'll soon be converted to rst files. No changes at the documentation. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-17[media] doc-rst: Fix conversion for dvb-core.rstMauro Carvalho Chehab
The conversion from DocBook required some fixes: - Now, the C files with the exported symbols also need to be added. So, all headers need to be included twice: one to get the structs/enums/.. and another one for the functions; - Notes should use the ReST tag, as kernel-doc doesn't recognizes it anymore; - Identation needs to be fixed, as ReST uses it to identify when a format "tag" ends. - Fix the cross-references at the media controller description. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-17[media] doc-rst: Fix conversion for MC core functionsMauro Carvalho Chehab
There were lots of issues at the media controller side, after the conversion: - Some documentation at the header files weren't using the kernel-doc start block; - Now, the C files with the exported symbols also need to be added. So, all headers need to be included twice: one to get the structs/enums/.. and another one for the functions; - Notes should use the ReST tag, as kernel-doc doesn't recognizes it anymore; - Identation needs to be fixed, as ReST uses it to identify when a format "tag" ends. - Fix the cross-references at the media controller description. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-17[media] doc-rst: Fix conversion for v4l2 core functionsMauro Carvalho Chehab
The conversion from DocBook lead into some conversion issues, basically due to the lack of proper support at kernel-doc. So, address them: - Now, the C files with the exported symbols also need to be added. So, all headers need to be included twice: one to get the structs/enums/.. and another one for the functions; - Notes should use the ReST tag, as kernel-doc doesn't recognizes it anymore; - Identation needs to be fixed, as ReST uses it to identify when a format "tag" ends. - kernel-doc doesn't escape things like *pointer, so we need to manually add a escape char before it. - On some cases, kernel-doc conversion requires violating the 80-cols, as otherwise it won't properly parse the source code. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-17[media] doc-rst: Fix issues with RC documentationMauro Carvalho Chehab
The kernel-doc script is now broken if it doesn't find all exported symbols documented. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-17[media] doc-rst: split media_drivers.rst into one file per API typeMauro Carvalho Chehab
Just like the uAPI book is split into parts, let's split the kAPI documentation. That should make easier to maintain, and will split the final documentation into smaller html files. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-17[media] doc-rst: media_drivers.rst: Fix paragraph headers for MCMauro Carvalho Chehab
Fix the paragraph identation for the media controller headers. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-17[media] doc-rst: Convert media API to rstMauro Carvalho Chehab
Move the contents of the media section at DocBooks/DocBook/device-drivers.tmpl to a new ReST book. For now, the contents is kept as-is. Next patches will fix the warnings and add cross-references that were removed due to the conversion. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-17ALSA: echoaudio: purge contradictions between dimension matrix members and ↵Takashi Sakamoto
total number of members Currently, sound device drivers for PCI cards produced by Echo Audio support dimension parameter of element information. But the information has contradictions to the number of members of each element. I guess that this comes from the assumption that these sound cards are used only by 'echomixer' in userspace. But ideally, they should be used with usual ALSA control applications. This commit removes the contradiction. As a result, 'Monitor Mixer Volume' and 'VMixer Volume' elements are shown in usual ALSA control applications such as 'amixer' and 'alsamixer' in series. Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2016-07-17powerpc/mm/radix: Add a kernel command line to disable radixAneesh Kumar K.V
This patch adds the kernel command line disable_radix which disable the radix MMU mode even if firmware indicates radix support via ibm,pa-features device tree node. This helps in testing different MMU mode easily. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2016-07-17powerpc/mm/radix: Add LPID based tlb flush helpersAneesh Kumar K.V
We add a tlb flush variant, to flush LPID mappings. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2016-07-17powerpc/mm/radix: Update machine call back to support new HCALL.Aneesh Kumar K.V
This update the machine dep callback such that we can use the same callback to register process table. The interface is updated such that we can easily call H_REGISTER_PROC_TBL hcall. The HCALL itself is introduced in a later patch. No functionality change introduced by this patch. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2016-07-17powerpc/mm/radix: Update PID switch sequenceAneesh Kumar K.V
Update the PID switch as per ISA doc. slbia is needed in radix to invalidate any implementation specific lookaside information. We use the .long format due to build errors with the below compiler version. gcc (Ubuntu 5.3.1-14ubuntu2.1) 5.3.1 20160413 GNU assembler (GNU Binutils for Ubuntu) 2.26 CC arch/powerpc/mm//mmu_context_book3s64.o {standard input}: Assembler messages: {standard input}:506: Error: junk at end of line: `0x7' scripts/Makefile.build:291: recipe for target 'arch/powerpc/mm//mmu_context_book3s64.o' failed make[1]: *** [arch/powerpc/mm//mmu_context_book3s64.o] Error 1 Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2016-07-17powerpc/mm/hash: Update SDR1 size encoding as documented in ISA 3.0Aneesh Kumar K.V
ISA 3.0 document hash table size in bytes = 2^(HTABSIZE + 18) No functionality change by this patch. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2016-07-17powerpc/mm: Print formation regarding the the MMU modeAneesh Kumar K.V
This helps in easily identifying the MMU mode with which the kernel is operating. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2016-07-17powerpc/mm: Clear top 16 bits of va only on older cpusAneesh Kumar K.V
As per ISA, we need to do this only for architecture version 2.02 and earlier. This continued to work even for 2.07. But let's not do this for anything after 2.02. ISA 3.0 requires these top bits to be not cleared. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Acked-by: Balbir Singh <bsingharora@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2016-07-17powerpc/mm: Compile out radix related functions if RADIX_MMU is disabledAneesh Kumar K.V
Currently we depend on mmu_has_feature to evalute to zero based on MMU_FTRS_POSSIBLE mask. In a later patch, we want to update radix_enabled() to runtime update the conditional operation to a jump instruction. This implies we cannot depend on MMU_FTRS_POSSIBLE mask. Instead define radix_enabled to return 0 if RADIX_MMU is not enabled. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2016-07-17powerpc/mm: use _raw variant of page table accessorsAneesh Kumar K.V
This switch few of the page table accessor to use the __raw variant and does the cpu to big endian conversion of constants. This helps in generating better code. For ex: a pgd_none(pgd) check with and without fix is listed below Without fix: ------------ 2240: 20 00 61 eb ld r27,32(r1) /* PGD level */ typedef struct { __be64 pgd; } pgd_t; static inline unsigned long pgd_val(pgd_t x) { return be64_to_cpu(x.pgd); 2244: 22 00 66 78 rldicl r6,r3,32,32 2248: 3e 40 7d 54 rotlwi r29,r3,8 224c: 0e c0 7d 50 rlwimi r29,r3,24,0,7 2250: 3e 40 c5 54 rotlwi r5,r6,8 2254: 2e c4 7d 50 rlwimi r29,r3,24,16,23 2258: 0e c0 c5 50 rlwimi r5,r6,24,0,7 225c: 2e c4 c5 50 rlwimi r5,r6,24,16,23 2260: c6 07 bd 7b rldicr r29,r29,32,31 2264: 78 2b bd 7f or r29,r29,r5 if (pgd_none(pgd)) 2268: 00 00 bd 2f cmpdi cr7,r29,0 226c: 54 03 9e 41 beq cr7,25c0 <__get_user_pages_fast+0x500> With fix: --------- 2370: 20 00 61 eb ld r27,32(r1) if (pgd_none(pgd)) 2374: 00 00 bd 2f cmpdi cr7,r29,0 2378: a8 03 9e 41 beq cr7,2720 <__get_user_pages_fast+0x530> break; Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Acked-by: Balbir Singh <bsingharora@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2016-07-17powerpc/mm/radix: Update LPCR HR bit as per ISAAneesh Kumar K.V
PowerISA 3.0 requires the MMU mode (radix vs. hash) of the hypervisor to be mirrored in the LPCR register, in addition to the partition table. This is done to avoid fetching from the table when deciding, among other things, how to perform transitions to HV mode on some interrupts. So let's set it up appropriately Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Acked-by: Balbir Singh <bsingharora@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2016-07-17powerpc/mm: Fix .long's in tlb-radix.c to more meaningfulBalbir Singh
The .longs with the shifts are harder to read, use more meaningful names for the opcodes. PPC_TLBIE_5 is introduced for the 5 opcode variation of the instruction due to an existing op-code for the 2 opcode variant. Signed-off-by: Balbir Singh <bsingharora@gmail.com> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2016-07-17powerpc/pci: Don't try to allocate resources that will be reassignedBenjamin Herrenschmidt
When we know we will reassign all resources, trying (and failing) to allocate them initially is fairly pointless and leads to a lot of scary messages in the kernel log Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2016-07-17powerpc/powernv/pci: Check status of a PHB before using itBenjamin Herrenschmidt
If the firmware encounters an error (internal or HW) during initialization of a PHB, it might leave the device-node in the tree but mark it disabled using the "status" property. We should check it. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2016-07-17powerpc/powernv/pci: Use the device-tree to get available range of M64'sBenjamin Herrenschmidt
M64's are the configurable 64-bit windows that cover the 64-bit MMIO space. We used to hard code 16 windows. Newer chips might have a variable number and might need to reserve some as well (for example on PHB4/POWER9, M32 and M64 are actually unified and we use M64#0 to map the 32-bit space). So newer OPALs will provide a property we can use to know what range of windows is available. The property is named so that it can eventually support multiple ranges but we only use the first one for now. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2016-07-17powerpc/powernv/pci: Fallback to OPAL for TCE invalidationsBenjamin Herrenschmidt
If we don't find registers for the PHB or don't know the model specific invalidation method, use OPAL calls instead. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2016-07-17powerpc/powernv/pci: Rework accessing the TCE invalidate registerBenjamin Herrenschmidt
It's architected, always in a known place, so there is no need to keep a separate pointer to it, we use the existing "regs", and we complement it with a real mode variant. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> # Conflicts: # arch/powerpc/platforms/powernv/pci-ioda.c # arch/powerpc/platforms/powernv/pci.h Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>