{"push_id":900717644,"size":42,"distinct_size":42,"ref":"refs/heads/963168VX-next","head":"e8d2e2f7b5b1da41e0de25092bde6fd7d77b4cc1","before":"bf0fe97ea2a8e4f920dbb79e8cecec4250c289fa","commits":[{"sha":"91465326bb2faed8adab9cd1313cd0291446d3c1","author":{"email":"89a7e4761850e3beea3613e880f36aa0598c32d8","name":"Simon Arlott"},"message":"[PATCH linux-next v1 1/2] irqchip: Add brcm,bcm6345-l1-intc device tree binding\n\nAdd device tree binding for the BCM6345 interrupt controller.\n\nThis controller is similar to the SMP-capable BCM7038 and\nthe BCM3380 but with packed interrupt registers.\n\nSigned-off-by: Simon Arlott <simon@fire.lp0.eu>\nAcked-by: Rob Herring <robh@kernel.org>\n---\nv1: Corrected example device name to be \"interrupt-controller\".","distinct":true,"url":"https://api.github.com/repos/lp0/linux/commits/91465326bb2faed8adab9cd1313cd0291446d3c1"},{"sha":"5dfa56db152f82ee87a3cb5e406756cf798a1e36","author":{"email":"89a7e4761850e3beea3613e880f36aa0598c32d8","name":"Simon Arlott"},"message":"[PATCH linux-next v2 2/2] MIPS: bmips: Add bcm6345-l1 interrupt controller\n\nAdd the BCM6345 interrupt controller based on the SMP-capable BCM7038\nand the BCM3380 but with packed interrupt registers.\n\nAdd the BCM6345 interrupt controller to a list with the existing BCM7038\nso that interrupts on CPU1 are not ignored.\n\nUpdate the maintainers file list for BMIPS to include this driver.\n\nSigned-off-by: Simon Arlott <simon@fire.lp0.eu>\n---\nv2: Removed #ifdef CONFIG_SMP as the effect on UP is a single direct\n    array access to discover that __cpu_logical_map[0] == 0.\n\n    Added a comment regarding the locking.\n\n    Renamed \"idx\" to \"i\" or \"cpu_idx\" as appropriate.\n\nv1: Rebased against linux-next-20151209, no other changes.","distinct":true,"url":"https://api.github.com/repos/lp0/linux/commits/5dfa56db152f82ee87a3cb5e406756cf798a1e36"},{"sha":"f467dfd5d04cc44bdbd20486fd5cf790d46c2fcd","author":{"email":"89a7e4761850e3beea3613e880f36aa0598c32d8","name":"Simon Arlott"},"message":"[PATCH 01/11] clocksource: Add brcm,bcm6345-timer/brcm,bcm6318-timer device tree binding\n\nAdd device tree bindings for the BCM6345/BCM6318 timers. This is required\nfor the BCM6345 watchdog which needs to respond to one of the timer\ninterrupts.\n\nSigned-off-by: Simon Arlott <simon@fire.lp0.eu>\nAcked-by: Rob Herring <robh@kernel.org>","distinct":true,"url":"https://api.github.com/repos/lp0/linux/commits/f467dfd5d04cc44bdbd20486fd5cf790d46c2fcd"},{"sha":"ad366dffa291fc5f728d1f1c8e0ebc0a44c8588e","author":{"email":"89a7e4761850e3beea3613e880f36aa0598c32d8","name":"Simon Arlott"},"message":"[PATCH 02/11] MIPS: bmips: Add bcm6345-l2-timer interrupt controller\n\nAdd the BCM6345/BCM6318 timer as an interrupt controller so that it can be\nused by the watchdog to warn that its timer will expire soon.\n\nSupport for clocksource/clockevents is not implemented as the timer\ninterrupt is not per CPU (except on the BCM6318) and the MIPS clock is\nbetter. This could be added later if required without changing the device\ntree binding.\n\nSigned-off-by: Simon Arlott <simon@fire.lp0.eu>\nAcked-by: Marc Zyngier <marc.zyngier@arm.com>","distinct":true,"url":"https://api.github.com/repos/lp0/linux/commits/ad366dffa291fc5f728d1f1c8e0ebc0a44c8588e"},{"sha":"0de3d456079f299fa592ef18694b6af8c1e6d64b","author":{"email":"89a7e4761850e3beea3613e880f36aa0598c32d8","name":"Simon Arlott"},"message":"watchdog: Add brcm,bcm6345-wdt device tree binding\n\nAdd device tree binding for the BCM6345 watchdog.\n\nThis uses the BCM6345 timer for its warning interrupt.\n\nSigned-off-by: Simon Arlott <simon@fire.lp0.eu>\nAcked-by: Rob Herring <robh@kernel.org>","distinct":true,"url":"https://api.github.com/repos/lp0/linux/commits/0de3d456079f299fa592ef18694b6af8c1e6d64b"},{"sha":"1ca902208863a7307de7d89972d182ba1c1fd31f","author":{"email":"89a7e4761850e3beea3613e880f36aa0598c32d8","name":"Simon Arlott"},"message":"watchdog: bcm63xx_wdt: Handle hardware interrupt and remove software timer\n\nThere is a level triggered interrupt for the watchdog timer as part of\nthe bcm63xx_timer device. The interrupt occurs when the hardware watchdog\ntimer reaches 50% of the remaining time.\n\nIt is not possible to mask the interrupt within the bcm63xx_timer device.\nTo get around this limitation, handle the interrupt by restarting the\nwatchdog with the current remaining time (which will be half the previous\ntimeout) so that the interrupt occurs again at 1/4th, 1/8th, etc. of the\noriginal timeout value until the watchdog forces a reboot.\n\nThe software timer was restarting the hardware watchdog with a 85 second\ntimeout until the software timer expired, and then causing a panic()\nabout 42.5 seconds later when the hardware interrupt occurred. The\nhardware watchdog would not reboot until a further 42.5 seconds had\npassed.\n\nRemove the software timer and rely on the hardware timer directly,\nreducing the maximum timeout from 256 seconds to 85 seconds\n(2^32 / WDT_HZ).\n\nSigned-off-by: Simon Arlott <simon@fire.lp0.eu>","distinct":true,"url":"https://api.github.com/repos/lp0/linux/commits/1ca902208863a7307de7d89972d182ba1c1fd31f"},{"sha":"11c601cba4b17cb3348420df8d40bfeb64bce334","author":{"email":"89a7e4761850e3beea3613e880f36aa0598c32d8","name":"Simon Arlott"},"message":"watchdog: bcm63xx_wdt: Use WATCHDOG_CORE\n\nConvert bcm63xx_wdt to use WATCHDOG_CORE.\n\nThe default and maximum time constants that are only used once have been\nmoved to the initialisation of the struct watchdog_device.\n\nSigned-off-by: Simon Arlott <simon@fire.lp0.eu>","distinct":true,"url":"https://api.github.com/repos/lp0/linux/commits/11c601cba4b17cb3348420df8d40bfeb64bce334"},{"sha":"035c19ac2fdfba65c04a721d57d2403fc6eca5fa","author":{"email":"89a7e4761850e3beea3613e880f36aa0598c32d8","name":"Simon Arlott"},"message":"watchdog: bcm63xx_wdt: Obtain watchdog clock HZ from \"periph\" clk\n\nInstead of using a fixed clock HZ in the driver, obtain it from the\n\"periph\" clk that the watchdog timer uses.\n\nSigned-off-by: Simon Arlott <simon@fire.lp0.eu>\nReviewed-by: Florian Fainelli <f.fainelli@gmail.com>","distinct":true,"url":"https://api.github.com/repos/lp0/linux/commits/035c19ac2fdfba65c04a721d57d2403fc6eca5fa"},{"sha":"58caad4d6c7e63d34ca0861b63d3d2ba11bc036c","author":{"email":"89a7e4761850e3beea3613e880f36aa0598c32d8","name":"Simon Arlott"},"message":"watchdog: bcm63xx_wdt: Add get_timeleft function\n\nReturn the remaining time from the hardware control register.\n\nSigned-off-by: Simon Arlott <simon@fire.lp0.eu>","distinct":true,"url":"https://api.github.com/repos/lp0/linux/commits/58caad4d6c7e63d34ca0861b63d3d2ba11bc036c"},{"sha":"89c121cf7ffbb033a2a4446da21a60098f0de8de","author":{"email":"89a7e4761850e3beea3613e880f36aa0598c32d8","name":"Simon Arlott"},"message":"watchdog: bcm63xx_wdt: Warn if the watchdog is currently running\n\nWarn when the device is registered if the hardware watchdog is currently\nrunning and report the remaining time left.\n\nSigned-off-by: Simon Arlott <simon@fire.lp0.eu>","distinct":true,"url":"https://api.github.com/repos/lp0/linux/commits/89c121cf7ffbb033a2a4446da21a60098f0de8de"},{"sha":"a7b1bba2991bafd3776241794fdf9289c1a56655","author":{"email":"89a7e4761850e3beea3613e880f36aa0598c32d8","name":"Simon Arlott"},"message":"watchdog: bcm63xx_wdt: Remove dependency on mach-bcm63xx functions/defines\n\nThe bcm_readl() and bcm_writel() functions are only defined for\nmach-bcm63xx, replace them with __raw_readl() and raw_writel().\n\nThe register defines required for the watchdog are in a mach-bcm63xx\nheader file. Move them to include/linux/bcm63xx_wdt.h so that they are\nalso available on other machine types.\n\nSigned-off-by: Simon Arlott <simon@fire.lp0.eu>","distinct":true,"url":"https://api.github.com/repos/lp0/linux/commits/a7b1bba2991bafd3776241794fdf9289c1a56655"},{"sha":"f96a7d655c06038328482f69189cdbd05ab76f8d","author":{"email":"89a7e4761850e3beea3613e880f36aa0598c32d8","name":"Simon Arlott"},"message":"watchdog: bcm63xx_wdt: Use bcm63xx_timer interrupt directly\n\nThere is only one user of bcm63xx_timer and that is the watchdog.\nTo allow the watchdog driver to be used on machine types other than\nmach-bcm63xx, it needs to use an interrupt instead of a custom register\nfunction.\n\nModify bcm63xx_timer to only disable the timers (so that they don't\ninterfere with the watchdog if an interrupt occurs) and remove its\nexported functions.\n\nUse the timer interrupt directly in bcm63xx_wdt.\n\nSigned-off-by: Simon Arlott <simon@fire.lp0.eu>","distinct":true,"url":"https://api.github.com/repos/lp0/linux/commits/f96a7d655c06038328482f69189cdbd05ab76f8d"},{"sha":"0dcd52b31af58ed03cef5074cc3741b9fc82d97f","author":{"email":"89a7e4761850e3beea3613e880f36aa0598c32d8","name":"Simon Arlott"},"message":"watchdog: bcm63xx_wdt: Use brcm,bcm6345-wdt device tree binding\n\nAdd of_match_table for \"brcm,bcm6345-wdt\".\n\nUse a NULL clock name when not on mach-bcm63xx so that the device tree\nclock name does not have to be \"periph\".\n\nAllow the watchdog to be selected on BMIPS_GENERIC and select the BCM6345\ntimer interrupt handler.\n\nSigned-off-by: Simon Arlott <simon@fire.lp0.eu>","distinct":true,"url":"https://api.github.com/repos/lp0/linux/commits/0dcd52b31af58ed03cef5074cc3741b9fc82d97f"},{"sha":"c658b9ac2de2283b9373d2a15ae24936a97fe179","author":{"email":"89a7e4761850e3beea3613e880f36aa0598c32d8","name":"Simon Arlott"},"message":"mtd: brcmnand: Workaround false ECC uncorrectable errors\n\nWorkaround false ECC uncorrectable errors by checking if the data\nhas been erased and the OOB data indicates that the data has been\nerased. The v4.0 controller on the BCM63168 incorrectly handles\nthese as uncorrectable errors.\n\nSigned-off-by: Simon Arlott <simon@fire.lp0.eu>","distinct":true,"url":"https://api.github.com/repos/lp0/linux/commits/c658b9ac2de2283b9373d2a15ae24936a97fe179"},{"sha":"72e24c4653724603ad7ee98929b98ff43cb4e4ef","author":{"email":"088e16a1019277b15d58faf0541e11910eb756f6@fire.lp0.eu","name":"Simon Arlott"},"message":"[PATCH linux-next v3 1/3] MIPS: bcm963xx: Add Broadcom BCM963xx board nvram data structure\n\nBroadcom BCM963xx boards have multiple nvram variants across different\nSoCs with additional checksum fields added whenever the size of the\nnvram was extended.\n\nAdd this structure as a header file so that multiple drivers and userspace\ncan use it.\n\nSigned-off-by: Simon Arlott <simon@fire.lp0.eu>\n---\nv3: Fix includes/type names, add comments explaining the nvram struct.\n\nv2: Use external struct bcm963xx_nvram definition for bcm963268part.","distinct":true,"url":"https://api.github.com/repos/lp0/linux/commits/72e24c4653724603ad7ee98929b98ff43cb4e4ef"},{"sha":"6b8321419e59967aee14f1ad6d7a74851e502e4b","author":{"email":"088e16a1019277b15d58faf0541e11910eb756f6@fire.lp0.eu","name":"Simon Arlott"},"message":"[PATCH linux-next v3 2/3] MIPS: bcm63xx: nvram: Use nvram structure definition from header file\n\nUse the common definition of the nvram structure from the header file\ninclude/uapi/linux/bcm963xx_nvram.h instead of maintaining a separate\ncopy.\n\nRead the version 5 size of nvram data from memory and then support the\nversion 4 and version 5 variants of nvram data checksums.\n\nSigned-off-by: Simon Arlott <simon@fire.lp0.eu>\n---\nCompile tested only (there is no support for brcmnand on mach-bcm63xx).\n\nv3: No changes (reworded commit message).\n\nv2: Use external struct bcm963xx_nvram definition for bcm963268part.","distinct":true,"url":"https://api.github.com/repos/lp0/linux/commits/6b8321419e59967aee14f1ad6d7a74851e502e4b"},{"sha":"8e61070e8ba882c936a2583a29934bbcd00cd335","author":{"email":"89a7e4761850e3beea3613e880f36aa0598c32d8","name":"Simon Arlott"},"message":"[PATCH linux-next v3 3/3] mtd: part: Add BCM963268 CFE partitioning support\n\nAdd partitioning support for BCM963268 boards with CFE bootloaders.\nThe following partitions are defined:\n  \"boot\":           CFE and nvram data\n  \"rootfs\":         Currently selected rootfs\n  \"data\":           Configuration data\n  \"rootfs1_update\": Container for the whole flash area used\n                    for the first rootfs to allow it to be\n                    updated.\n  \"rootfs2_update\": Container for the whole flash area used\n                    for the second rootfs to allow it to be\n                    updated.\n  \"rootfs_other\":   The other (not currently selected) rootfs\n\nExample:\n[    1.904302] nand: device found, Manufacturer ID: 0xc2, Chip ID: 0xf1\n[    1.911000] nand: Macronix NAND 128MiB 3,3V 8-bit\n[    1.915855] nand: 128 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64\n[    1.923797] bcm6368_nand 10000200.nand: detected 128MiB total, 128KiB blocks, 2KiB pages, 16B OOB, 8-bit, Hamming ECC\n[    1.936994] Bad block table found at page 65472, version 0x01\n[    1.944121] Bad block table found at page 65408, version 0x01\n[    1.951166] nand_read_bbt: bad block at 0x000007480000\n[    1.969377] bcm963268part: rootfs1: CFE boot tag found at 0x20000 with version 6, board type 963168VX\n[    1.980690] bcm963268part: rootfs2: CFE boot tag found at 0x4000000 with version 6, board type 963168VX\n[    1.990801] bcm963268part: CFE bootline selected latest image rootfs1 (rootfs1_seq=2, rootfs2_seq=1)\n[    2.022080] 6 bcm963268part partitions found on MTD device brcmnand.0\n[    2.042659] Creating 6 MTD partitions on \"brcmnand.0\":\n[    2.048025] 0x000000000000-0x000000020000 : \"boot\"\n[    2.062134] 0x000000040000-0x000001120000 : \"rootfs\"\n[    2.077632] 0x000007b00000-0x000007f00000 : \"data\"\n[    2.091363] 0x000000020000-0x000003ac0000 : \"rootfs1_update\"\n[    2.106228] 0x000004000000-0x000007ac0000 : \"rootfs2_update\"\n[    2.121093] 0x000004020000-0x000005060000 : \"rootfs_other\"\n\nThe nvram contains the offset and size of the boot, rootfs1, rootfs2\nand data partitions. The presence of CFE and nvram is verified by\nreading from the boot partition which is assumed to be at offset 0\nand the process aborts if the nvram read indicates that this is not\nthe case.\n\nThere is bcm_tag information at the start of each rootfs that is used\nto determine which rootfs is newer and what its real offset/size is.\n\nThe CFE bootline is used to select a rootfs.\n\nSigned-off-by: Simon Arlott <simon@fire.lp0.eu>\n---\nv3: Use COMPILE_TEST.\n\n    Ensure that strings read from flash are null terminated and validate\n    bcm_tag integer values (this also moves reporting of rootfs sequence\n    numbers to later on).\n\nv2: Use external struct bcm963xx_nvram definition for bcm963268part.\n\n    Removed support for the nand partition number field, it's not a\n    standard Broadcom field (was added by MitraStar Technology Corp.).","distinct":true,"url":"https://api.github.com/repos/lp0/linux/commits/8e61070e8ba882c936a2583a29934bbcd00cd335"},{"sha":"6e7e2c3d5feee08a2f0bb6590523d943eb9868a1","author":{"email":"89a7e4761850e3beea3613e880f36aa0598c32d8","name":"Simon Arlott"},"message":"clk: Add brcm,bcm6345-gate-clk device tree binding\n\nAdd device tree binding for the BCM6345's gated clocks.\n\nThe BCM6345 contains clocks gated with a register. Clocks are indexed\nby bits in the register and are active high. Most MIPS-based BCM63xx\nSoCs have a clock gating set of registers, but some have clock gate bits\ninterleaved with other status bits and configurable clocks in the same\nregister.\n\nSigned-off-by: Simon Arlott <simon@fire.lp0.eu>\nAcked-by: Rob Herring <robh@kernel.org>","distinct":true,"url":"https://api.github.com/repos/lp0/linux/commits/6e7e2c3d5feee08a2f0bb6590523d943eb9868a1"},{"sha":"7396e867866b517691831ad749b9b46b0c62c5b1","author":{"email":"89a7e4761850e3beea3613e880f36aa0598c32d8","name":"Simon Arlott"},"message":"clk: bcm6345: Add BCM6345 gated clock support\n\nThe BCM6345 contains clocks gated with a register. Clocks are indexed\nby bits in the register and are active high. Most MIPS-based BCM63xx\nSoCs have a clock gating set of registers, but some have clock gate bits\ninterleaved with other status bits and configurable clocks in the same\nregister.\n\nEnabled by default for BMIPS_GENERIC.\n\nSigned-off-by: Simon Arlott <simon@fire.lp0.eu>","distinct":true,"url":"https://api.github.com/repos/lp0/linux/commits/7396e867866b517691831ad749b9b46b0c62c5b1"},{"sha":"595ec091aa0dc00dd57a34758d233d7f262035ee","author":{"email":"89a7e4761850e3beea3613e880f36aa0598c32d8","name":"Simon Arlott"},"message":"reset: Add brcm,bcm6345-reset device tree binding\n\nAdd device tree binding for the BCM6345 soft reset controller.\n\nThe BCM6345 contains a soft-reset controller activated by setting\na bit (that must previously have been cleared).\n\nSigned-off-by: Simon Arlott <simon@fire.lp0.eu>\nAcked-by: Rob Herring <robh@kernel.org>","distinct":true,"url":"https://api.github.com/repos/lp0/linux/commits/595ec091aa0dc00dd57a34758d233d7f262035ee"}]}