{"push_id":1443727486,"size":34,"distinct_size":6,"ref":"refs/heads/ti-lsk-linux-4.4.y","head":"89dc0fdd8115ceb41a1d3a7a539835ca245eb5ef","before":"32651720b13180c8211310f1bd3253f9e1a9f1e4","commits":[{"sha":"dadfe3d2a402921ce6b4a3d05ed6386e59d5db77","author":{"name":"Keerthy","email":"291a1b6d3a1977d1bab9cf84a427d4c28ba1c0e6@ti.com"},"message":"clk: ti: divider: Add the table parsing to get the best divider value\n\nCurrently the divider selection logic blindly divides the parent_rate\nby the clk rate and gives the divider value for the divider clocks\nwhich do not have the CLK_SET_RATE_PARENT flag set. Add the clk divider\ntable parsing to get the closest divider available in the table\nprovided via Device tree.\n\nThe code is pretty much taken from: drivers/clk/clk-divider.c.\nand used here to fix up the best divider selection logic.\n\nSigned-off-by: Keerthy <j-keerthy@ti.com>\nReported-by: Richard Woodruff <r-woodruff2@ti.com>","distinct":false,"url":"https://api.github.com/repos/RobertCNelson/ti-linux-kernel/commits/dadfe3d2a402921ce6b4a3d05ed6386e59d5db77"},{"sha":"3a68872bc115146c0e6880a837dfe5b50a4230e0","author":{"name":"Vignesh R","email":"6a6c1eaed11802dd623634659a323fc002b35628@ti.com"},"message":"dmaengine: edma: re-initialize dummy slot during system resume\n\ncommit 08c824e87ea05f989a9768a365f0fc70bcd25298 upstream.\n\nThe last param set in a transfer should always be pointing to dummy\nparam set in non-cyclic mode. When system wakes from low power state\nEDMA PARAM slots may be reset to random values. Hence, re-initialize\ndummy slot to dummy param set on system resume.\n\nSigned-off-by: Vignesh R <vigneshr@ti.com>\nAcked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>\nSigned-off-by: Vinod Koul <vinod.koul@intel.com>","distinct":false,"url":"https://api.github.com/repos/RobertCNelson/ti-linux-kernel/commits/3a68872bc115146c0e6880a837dfe5b50a4230e0"},{"sha":"324abcd68511cd617253e5abd2a24b1108b0a1ff","author":{"name":"Tero Kristo","email":"183a510432c0612839b152b5f32aa94e5ab64976@ti.com"},"message":"Merge branch 'platform-ti-linux-4.4.y-golden' into platform-ti-linux-4.4.y-next","distinct":false,"url":"https://api.github.com/repos/RobertCNelson/ti-linux-kernel/commits/324abcd68511cd617253e5abd2a24b1108b0a1ff"},{"sha":"4d3c092b421523ed3ba689fa83a6547acd20cd2d","author":{"name":"Peter Ujfalusi","email":"a66d66a7cf9c40d6c50e4d2b4388377d4aa6474e@ti.com"},"message":"ARM: dts: am335x-evmsk: Add phandle for the backlight for the panel\n\nWith the backlight phandle the driver can manage the backlight on/off in\nsync with the panel enable/disable.\n\nSigned-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>\nSigned-off-by: Jyri Sarha <jsarha@ti.com>","distinct":false,"url":"https://api.github.com/repos/RobertCNelson/ti-linux-kernel/commits/4d3c092b421523ed3ba689fa83a6547acd20cd2d"},{"sha":"671e8d0c4fae9a39cb0241dfb1d6a6db0797bd5f","author":{"name":"Jyri Sarha","email":"ffadaf5b3fc0fec74385bdbffca566efe2f0576e@ti.com"},"message":"ARM: dts: am335x-evm: Add backlight phandle to the lcd panel node\n\nWith the backlight phandle the driver can manage the backlight on/off in\nsync with the panel enable/disable.\n\nSigned-off-by: Jyri Sarha <jsarha@ti.com>","distinct":false,"url":"https://api.github.com/repos/RobertCNelson/ti-linux-kernel/commits/671e8d0c4fae9a39cb0241dfb1d6a6db0797bd5f"},{"sha":"fb1ba78a51fa1b8b4dcdbe6a98bb5932079d8940","author":{"name":"Jyri Sarha","email":"ffadaf5b3fc0fec74385bdbffca566efe2f0576e@ti.com"},"message":"Merge branch 'ti-linux-4.4.y-.06-fixes' into audio-display-ti-linux-4.4.y\n\nbacklight control associated with panel for am335x-evm and -evmsk.\n\n* ti-linux-4.4.y-.06-fixes:\n  ARM: dts: am335x-evm: Add backlight phandle to the lcd panel node\n  ARM: dts: am335x-evmsk: Add phandle for the backlight for the panel","distinct":false,"url":"https://api.github.com/repos/RobertCNelson/ti-linux-kernel/commits/fb1ba78a51fa1b8b4dcdbe6a98bb5932079d8940"},{"sha":"2130367e1077a332ebdc4a9fb044a8c92aa69a27","author":{"name":"LCPD Auto Merger","email":"06a5c6680995720d014cb50fe2aa5a5c3614db80@list.ti.com"},"message":"Merge branch 'audio-display-ti-linux-4.4.y' of git.ti.com:~darrene/ti-linux-kernel/audio-display-linux-feature-tree into ti-linux-4.4.y\n\nTI-Feature: audio-display\nTI-Tree: git@git.ti.com:~darrene/ti-linux-kernel/audio-display-linux-feature-tree.git\nTI-Branch: audio-display-ti-linux-4.4.y\n\n* 'audio-display-ti-linux-4.4.y' of git.ti.com:~darrene/ti-linux-kernel/audio-display-linux-feature-tree:\n  ARM: dts: am335x-evm: Add backlight phandle to the lcd panel node\n  ARM: dts: am335x-evmsk: Add phandle for the backlight for the panel\n\nSigned-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>","distinct":false,"url":"https://api.github.com/repos/RobertCNelson/ti-linux-kernel/commits/2130367e1077a332ebdc4a9fb044a8c92aa69a27"},{"sha":"89594af1415745572aa7ff7ef8d440cbb86963bb","author":{"name":"Benoit Parrot","email":"096b88eaa44be79d771ad870ff132c90daba2838@ti.com"},"message":"media: ti-vpe: vip: Add Parser IRQ handling\n\nAdd VIP Parser IRQ handling.\nThese various events were not previously monitored but some\nof overflow condition may need to be properly handled.\n\nWe are at first only monitoring overflow events.\n\nSigned-off-by: Benoit Parrot <bparrot@ti.com>","distinct":false,"url":"https://api.github.com/repos/RobertCNelson/ti-linux-kernel/commits/89594af1415745572aa7ff7ef8d440cbb86963bb"},{"sha":"9f80a286056ce44cc5eea2d57cf7d5f8b8979507","author":{"name":"Benoit Parrot","email":"096b88eaa44be79d771ad870ff132c90daba2838@ti.com"},"message":"media: ti-vpe: vip: Disable IRQs on VIP FIFO overflow events\n\nSince enabling PARSER IRQ, when any of the overflow events\nare triggered it causes a system lock up because of the event\nwill just keep coming until the faulty condition is cleared.\n\nUntil we implement overflow event handling it is better to just\ndisable the failing port.\n\nThis condition would sometime happen before we enabled the Parser\nIRQs but then it would only manifest itself as as the port\nappearing to be locked-up.\n\nSigned-off-by: Benoit Parrot <bparrot@ti.com>","distinct":false,"url":"https://api.github.com/repos/RobertCNelson/ti-linux-kernel/commits/9f80a286056ce44cc5eea2d57cf7d5f8b8979507"},{"sha":"20519f1ba62523c132a4a40ec46295a01943c924","author":{"name":"Benoit Parrot","email":"096b88eaa44be79d771ad870ff132c90daba2838@ti.com"},"message":"media: ti-vpe: vip: irq handler - do not loop when not necessary\n\nWhen handling IRQ event do not loop through all vpdma list combination\nif no other events is raised.\n\nSigned-off-by: Benoit Parrot <bparrot@ti.com>","distinct":false,"url":"https://api.github.com/repos/RobertCNelson/ti-linux-kernel/commits/20519f1ba62523c132a4a40ec46295a01943c924"},{"sha":"ceb24446b8a5c838e808c48639b66e17e5fd5603","author":{"name":"Benoit Parrot","email":"096b88eaa44be79d771ad870ff132c90daba2838@ti.com"},"message":"media: ti-vpe: vip: Add parser register helpers\n\nAdd VIP parser register helper functions\n\nSigned-off-by: Benoit Parrot <bparrot@ti.com>","distinct":false,"url":"https://api.github.com/repos/RobertCNelson/ti-linux-kernel/commits/ceb24446b8a5c838e808c48639b66e17e5fd5603"},{"sha":"0a5bae4aaf36c360efc0ed075f6e7928d75f21eb","author":{"name":"Benoit Parrot","email":"096b88eaa44be79d771ad870ff132c90daba2838@ti.com"},"message":"media: ti-vpe: vip: Make clearing the active vpdma channel list optional\n\nSince we use stop_dma() helper within the overflow recovery\nmethod. We need to make sure that the active list of vpdma channels\nis not cleared as we still need it during the stop_streaming()\nsequence. Otherwise the vpdma will lock up on the next streaming\nsession.\n\nSigned-off-by: Benoit Parrot <bparrot@ti.com>","distinct":false,"url":"https://api.github.com/repos/RobertCNelson/ti-linux-kernel/commits/0a5bae4aaf36c360efc0ed075f6e7928d75f21eb"},{"sha":"5f285c7b42b2d5d7fb1173823fae05846655741e","author":{"name":"Benoit Parrot","email":"096b88eaa44be79d771ad870ff132c90daba2838@ti.com"},"message":"media: ti-vpe: vip: Fix start/stop streaming sequence\n\nWhen starting a capture make sure that the enable sequence matches\nwith the way the H/W IP has been tested against:\n\n 1. Set the VIP_VIPx_DATA_PATH_SELECT register\n 2. Reset the Parser (reset held for ~200us)\n 3. Configure the Parser based on chosen input mode\n 4. Parser RD/WR ASYNC_FIFO reset\n 5. Signal the camera to start streaming\n 6. Clear all IRQs\n 8. Enable IRQs (VPDMA List Complete and Parser)\n 7. Submit VPDMA descriptors\n 9. Enable the Parser\n\nWhen stopping a capture make sure that the disable sequence matches\nwith the way the H/W IP has been tested against:\n\n 1. Disable Parser Immediately\n 2. Disable IRQs\n 3. Clear all IRQs\n 4. Signal the camera to stop streaming\n 5. Stop VPDMA for every list involved:\n    a. Set appropriate LIST_STOP bit on VPDMA_LIST_ATTR\n    b. Submit an abort descriptor for targeted channels\n 6. Cleanup any pending frame buffers\n\nSigned-off-by: Benoit Parrot <bparrot@ti.com>","distinct":false,"url":"https://api.github.com/repos/RobertCNelson/ti-linux-kernel/commits/5f285c7b42b2d5d7fb1173823fae05846655741e"},{"sha":"2e6f07045a287ee4a4457e1be4c10d5f5bcf7daa","author":{"name":"Benoit Parrot","email":"096b88eaa44be79d771ad870ff132c90daba2838@ti.com"},"message":"media: ti-vpe: vip: Eliminate an IRQ race condition on start_streaming\n\nSince we are using the LIST_COMPLETE interrupt has our only signal\nthat a frame capture is complete.\nHowever this is not true for the first two buffer descriptors as\nthe interrupt merely means that the descriptors have been accepted\nby VPDMA. The third buffer descriptor will stall in the VPDMA pipe\nuntil the first buffer is actually received and written to memory.\n\nSo far the way we have been handling this was to always skip the\nfirst two LIST_COMPLETE IRQs in the ISR.\nThose first two LIST_COMPLETE events exposes a race condition\nwhich is affected by careful call sequence and/or debug level.\n\nStress testing has shown that on occasion by the time the IRQs were\nenabled the first two LIST_COMPLETE events might have been missed.\nThis in turn causing a stall capture.\n\nIn order to work around this I decided to pre-load the VPDMA fifo\nin a sequential manner before enabling the IRQs.\n\nSo on startup we are therefore assured that given a capture rate\nof 60(30) fps we have at least 16.6(33.3) ms before the first IRQ\ncomes in, instead of a few microseconds.\n\nSigned-off-by: Benoit Parrot <bparrot@ti.com>","distinct":false,"url":"https://api.github.com/repos/RobertCNelson/ti-linux-kernel/commits/2e6f07045a287ee4a4457e1be4c10d5f5bcf7daa"},{"sha":"ea15d0303ea62317d4eb82da4d6b6f2b172835a0","author":{"name":"Benoit Parrot","email":"096b88eaa44be79d771ad870ff132c90daba2838@ti.com"},"message":"media: ti-vpe: vip: Ack IRQ at the end of ISR()\n\nClear the handled IRQ bits and issue the EOI() signal\nat the end of the isr routine to follow the recommend\nIRQ handling mechanism.\n\nSigned-off-by: Benoit Parrot <bparrot@ti.com>","distinct":false,"url":"https://api.github.com/repos/RobertCNelson/ti-linux-kernel/commits/ea15d0303ea62317d4eb82da4d6b6f2b172835a0"},{"sha":"736bc9af2d1cb3f60bef4565e29bfe2c2e654208","author":{"name":"Benoit Parrot","email":"096b88eaa44be79d771ad870ff132c90daba2838@ti.com"},"message":"media: ti-vpe: vip: Add VIP overflow recovery mechanism\n\nOnce the VIP Parser has encountered one of the overflow\ncondition we need to reset all of the processing unit\ninvolved in the current operation.\n\nThe recovery mechanism sequence is defined in the Technical\nReference Manual.\n\nAs a fail safe to prevent and infinite loop dealing with an\noverflow event. The recovery mechanism will be enable at most\n5 times per stream session. I.E. the counter gets reset\nwhen start_streaming is called.\n\nSigned-off-by: Benoit Parrot <bparrot@ti.com>","distinct":false,"url":"https://api.github.com/repos/RobertCNelson/ti-linux-kernel/commits/736bc9af2d1cb3f60bef4565e29bfe2c2e654208"},{"sha":"b4769e613552653460613a39395f1c331fd50dcf","author":{"name":"LCPD Auto Merger","email":"06a5c6680995720d014cb50fe2aa5a5c3614db80@list.ti.com"},"message":"Merge branch 'ti-linux-4.4.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel into ti-lsk-linux-4.4.y\n\nTI-Feature: ti_linux_base_lsk\nTI-Tree: git@git.ti.com:ti-linux-kernel/ti-linux-kernel.git\nTI-Branch: ti-linux-4.4.y\n\n* 'ti-linux-4.4.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel:\n  ARM: dts: am335x-evm: Add backlight phandle to the lcd panel node\n  ARM: dts: am335x-evmsk: Add phandle for the backlight for the panel\n\nSigned-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>","distinct":true,"url":"https://api.github.com/repos/RobertCNelson/ti-linux-kernel/commits/b4769e613552653460613a39395f1c331fd50dcf"},{"sha":"39336dd75ebbc3e46b10f96b76add529a41dc7a4","author":{"name":"Strashko, Grygorii","email":"6313aa67c79f49bbc5c7e7685d9d3910b42c6984@ti.com"},"message":"irqchip: keystone: Fix \"scheduling while atomic\" on rt\n\nThe below call chain generates \"scheduling while atomic\" backtrace and\ncauses system crash when Keystone 2 IRQ chip driver is used with RT-kernel:\n\ngic_handle_irq()\n |-__handle_domain_irq()\n  |-generic_handle_irq()\n   |-keystone_irq_handler()\n    |-regmap_read()\n     |-regmap_lock_spinlock()\n      |-rt_spin_lock()\n\nThe reason is that Keystone driver dispatches IRQ using chained IRQ handler\nand accesses I/O memory through syscon->regmap(mmio) which is implemented\nas fast_io regmap and uses regular spinlocks for synchronization and\nspinlocks transformed to rt_mutexes on RT.\n\nHence, convert Keystone 2 IRQ driver to use generic irq handler instead of\nchained IRQ handler. This way it will be compatible with RT kernel where it\nwill be forced thread IRQ handler while in non-RT kernel it still will be\nexecuted in HW IRQ context.\n\nSigned-off-by: Grygorii Strashko <grygorii.strashko@ti.com>\n[s-anna@ti.com: fix minor lockdep warning]\nSigned-off-by: Suman Anna <s-anna@ti.com>\nTested-by: Alejandro Hernandez <ajhernandez@ti.com>","distinct":false,"url":"https://api.github.com/repos/RobertCNelson/ti-linux-kernel/commits/39336dd75ebbc3e46b10f96b76add529a41dc7a4"},{"sha":"fff4fe519b4fc6be509e3f3bf714a885ee0453a2","author":{"name":"Suman Anna","email":"d001b6e571659697c1a8e90d2a55afdbf7a4c106@ti.com"},"message":"remoteproc/keystone: fix \"scheduling while atomic\" on RT during error recovery\n\nThe keystone remoteproc driver performs an error recovery by scheduling\na workqueue from the keystone_remoteproc_exception_interrupt() handler\nwhen using in-kernel remoteproc core loader/boot mechanism. This interrupt\nis registered with IRQF_ONESHOT at the moment, and it results in a\n\"scheduling while atomic\" BUG when running on RT-Linux. Oneshot interrupts\nkeep the irq line masked until the threaded handler has finished, and\nthe workqueue scheduling uses spinlocks for synchronization which get\ntransformed to rt_mutexes on RT. So, fix this by not using IRQF_ONESHOT\nwhile requesting the interrupt. This interrupt is processed by UIO\nframework when using the userspace based load/boot mechanism, and\ndoesn't need any changes in that path.\n\n remoteproc0: crash detected in 10800000.dsp0: type device exception\n BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:931\n in_atomic(): 1, irqs_disabled(): 128, pid: 53, name: irq/66-soc:keys\n 1 lock held by irq/66-soc:keys/53:\n #0:  (&kirq->wa_lock){......}, at: [<c031773c>] keystone_irq_handler+0xec/0x240\n irq event stamp: 170018\n hardirqs last  enabled at (170017): [<c06b2920>] _raw_spin_unlock_irqrestore+0x78/0x80\n hardirqs last disabled at (170018): [<c06b2734>] _raw_spin_lock_irqsave+0x1c/0x58\n softirqs last  enabled at (0): [<c0023664>] copy_process+0x2bc/0x1678\n softirqs last disabled at (0): [<  (null)>]   (null)\n Preemption disabled at:[<  (null)>]   (null)\n\n CPU: 0 PID: 53 Comm: irq/66-soc:keys Tainted: G        W       4.4.36-rt43-03400-gba94d7c1a7fa #331\n Hardware name: Keystone\n [<c0017568>] (unwind_backtrace) from [<c00139e0>] (show_stack+0x10/0x14)\n [<c00139e0>] (show_stack) from [<c02e4c00>] (dump_stack+0x98/0xc4)\n [<c02e4c00>] (dump_stack) from [<c06b2ca0>] (rt_spin_lock+0x24/0x5c)\n [<c06b2ca0>] (rt_spin_lock) from [<c003b254>] (queue_work_on+0x60/0x194)\n [<c003b254>] (queue_work_on) from [<bf04e488>] (keystone_rproc_exception_interrupt+0x10/0x18 [keystone_remoteproc])\n [<bf04e488>] (keystone_rproc_exception_interrupt [keystone_remoteproc]) from [<c0081ff8>] (handle_irq_event_percpu+0x8c/0x178)\n [<c0081ff8>] (handle_irq_event_percpu) from [<c008211c>] (handle_irq_event+0x38/0x5c)\n [<c008211c>] (handle_irq_event) from [<c0085384>] (handle_level_irq+0xc4/0x168)\n [<c0085384>] (handle_level_irq) from [<c0081654>] (generic_handle_irq+0x24/0x34)\n [<c0081654>] (generic_handle_irq) from [<c0317748>] (keystone_irq_handler+0xf8/0x240)\n [<c0317748>] (keystone_irq_handler) from [<c00830f8>] (irq_forced_thread_fn+0x20/0x74)\n [<c00830f8>] (irq_forced_thread_fn) from [<c0083470>] (irq_thread+0x15c/0x230)\n [<c0083470>] (irq_thread) from [<c0044898>] (kthread+0xf0/0x108)\n [<c0044898>] (kthread) from [<c00102d0>] (ret_from_fork+0x14/0x24)\n remoteproc0: handling crash #1 in 10800000.dsp0!!\n remoteproc0: recovering 10800000.dsp0\n remoteproc0: stopped remote processor 10800000.dsp0\n remoteproc0: powering up 10800000.dsp0\n remoteproc0: Booting fw image keystone-dsp0-fw, size 3704928\n remoteproc0: remote processor 10800000.dsp0 is now up\n virtio_rpmsg_bus virtio0: rpmsg host is online\n virtio_rpmsg_bus virtio0: creating channel rpmsg-proto addr 0x3d\n remoteproc0: registered virtio0 (type 7)\n\nSigned-off-by: Suman Anna <s-anna@ti.com>","distinct":false,"url":"https://api.github.com/repos/RobertCNelson/ti-linux-kernel/commits/fff4fe519b4fc6be509e3f3bf714a885ee0453a2"},{"sha":"3ba1692e7239293d7bc5a596ca9b0707f5bc07d5","author":{"name":"Alex Shi","email":"86471483ef45d8c07197ca74d2a2a81eaf9f0582@linaro.org"},"message":" Merge tag 'v4.4.36' into linux-linaro-lsk-v4.4\n\n This is the 4.4.36 stable release","distinct":false,"url":"https://api.github.com/repos/RobertCNelson/ti-linux-kernel/commits/3ba1692e7239293d7bc5a596ca9b0707f5bc07d5"}]}
{"actor":{"display_login":"RobertCNelson"}}