1. 20 Feb, 2022 2 commits
  2. 19 Feb, 2022 1 commit
  3. 17 Feb, 2022 2 commits
  4. 11 Feb, 2022 4 commits
  5. 10 Feb, 2022 1 commit
  6. 09 Feb, 2022 2 commits
    • Lucas De Marchi's avatar
      drm/i915/guc: Use a single pass to calculate regset · bf890040
      Lucas De Marchi authored
      The ADS initialitazion was using 2 passes to calculate the regset sent
      to GuC to initialize each engine: the first pass to just have the final
      object size and the second to set each register in place in the final
      gem object.
      
      However in order to maintain an ordered set of registers to pass to guc,
      each register needs to be added and moved in the final array. The second
      phase may actually happen in IO memory rather than system memory and
      accessing IO memory by simply dereferencing the pointer doesn't work on
      all architectures. Other places of the ADS initializaition were
      converted to use the iosys_map API, but here there may be a lot more
      accesses to IO memory. So, instead of following that same approach,
      convert the regset initialization to calculate the final array in 1
      pass and in the second pass that array is just copied to its final
      location, updating the pointers for each engine written to the ADS blob.
      
      One important thing is that struct temp_regset now have
      different semantics: `registers` continues to track the registers of a
      single engine, however the other fields are updated together, according
      to the newly added `storage`, which tracks the memory allocated for
      all the registers. So rename some of these fields and add a
      __mmio_reg_add(): this function (possibly) allocates memory and operates
      on the storage pointer while guc_mmio_reg_add() continues to manage the
      registers pointer.
      
      On a Tiger Lake system using enable_guc=3, the following log message is
      now seen:
      
      	[  187.334310] i915 0000:00:02.0: [drm:intel_guc_ads_create [i915]] Used 4 KB for temporary ADS regset
      
      This change has also been tested on an ARM64 host with DG2 and other
      discrete graphics cards.
      
      v2 (Daniele):
        - Fix leaking tempset on error path
        - Add comments on struct temp_regset to document the meaning of each
          field
      
      Cc: Matt Roper <matthew.d.roper@intel.com>
      Cc: John Harrison <John.C.Harrison@Intel.com>
      Cc: Matthew Brost <matthew.brost@intel.com>
      Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
      Signed-off-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
      Reviewed-by: default avatarDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220208070141.2095177-3-lucas.demarchi@intel.com
      bf890040
    • Lucas De Marchi's avatar
      drm/i915/guc: Prepare for error propagation · f4044ca1
      Lucas De Marchi authored
      Currently guc_mmio_reg_add() relies on having enough memory available in
      the array to add a new slot. It uses
      `GEM_BUG_ON(count >= regset->size);` to protect going above the
      threshold.
      
      In order to allow guc_mmio_reg_add() to handle the memory allocation by
      itself, it must return an error in case of failures.  Adjust return code
      so this error can be propagated to the callers of guc_mmio_reg_add() and
      guc_mmio_regset_init().
      
      No intended change in behavior.
      
      Cc: Matt Roper <matthew.d.roper@intel.com>
      Cc: John Harrison <John.C.Harrison@Intel.com>
      Cc: Matthew Brost <matthew.brost@intel.com>
      Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
      Signed-off-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
      Reviewed-by: default avatarDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220208070141.2095177-2-lucas.demarchi@intel.com
      f4044ca1
  7. 03 Feb, 2022 1 commit
  8. 01 Feb, 2022 3 commits
    • Matt Roper's avatar
      drm/i915: Introduce G12 subplatform of DG2 · 86df4141
      Matt Roper authored
      Another fork of the DG2 design has appeared, known as "DG2-G12;" let's
      add it as a new subplatform.  As with G11, the GT stepping resets back
      to A0 (so a DG2-G12 A0 is similar, but not identical, to a DG2-G10 C0)
      but the display steppings continue to use the same numbering scheme as
      G10 and G11.
      
      Some existing DG2 workarounds are starting to be extended to the DG2-G12
      subplatform.  So far only workarounds that were "permanent" for both
      DG2-G10 and DG2-G11 have been tagged for DG2-G12, but more
      stepping-specific workarounds are likely to show up in the future.
      
      Bspec: 44477
      Signed-off-by: default avatarMatt Roper <matthew.d.roper@intel.com>
      Reviewed-by: default avatarRadhakrishna Sripada <radhakrishna.sripada@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220120235016.1209326-1-matthew.d.roper@intel.com
      86df4141
    • Thomas Hellström's avatar
      drm/i915/ttm: Return some errors instead of trying memcpy move · 29b9702f
      Thomas Hellström authored
      The i915_ttm_accel_move() function may return error codes that should
      be propagated further up the stack rather than consumed assuming that
      the accel move failed and could be replaced with a memcpy move.
      
      For -EINTR, -ERESTARTSYS and -EAGAIN, just propagate those codes, rather
      than retrying with a memcpy move.
      
      Fixes: 2b0a750c ("drm/i915/ttm: Failsafe migration blits")
      Cc: Matthew Auld <matthew.auld@intel.com>
      Signed-off-by: default avatarThomas Hellström <thomas.hellstrom@linux.intel.com>
      Reviewed-by: default avatarMatthew Auld <matthew.auld@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220201070340.16457-1-thomas.hellstrom@linux.intel.com
      29b9702f
    • Dave Airlie's avatar
      Merge tag 'drm-misc-next-2022-01-27' of git://anongit.freedesktop.org/drm/drm-misc into drm-next · 53dbee49
      Dave Airlie authored
      [airlied: add two missing Kconfig]
      
      drm-misc-next for v5.18:
      
      UAPI Changes:
      - Fix invalid IN_FORMATS blob when plane->format_mod_supported is NULL.
      
      Cross-subsystem Changes:
      - Assorted dt bindings updates.
      - Fix vga16fb vga checking on x86.
      - Fix extra semicolon in rwsem.h's _down_write_nest_lock.
      - Assorted small fixes to agp and fbdev drivers.
      - Fix oops in creating a udmabuf with 0 pages.
      - Hot-unplug firmware fb devices on forced removal
      - Reqquest memory region in simplefb and simpledrm, and don't make the ioresource as busy.
      
      Core Changes:
      - Mock a drm_plane in drm-plane-helper selftest.
      - Assorted bug fixes to device logging, dbi.
      - Use DP helper for sink count in mst.
      - Assorted documentation fixes.
      - Assorted small fixes.
      - Move DP headers to drm/dp, and add a drm dp helper module.
      - Move the buddy allocator from i915 to common drm.
      - Add simple pci and platform module init macros to remove a lot of boilerplate from some drivers.
      - Support microsoft extension for HMDs and specialized monitors.
      - Improve edid parser's deep color handling.
      - Add type 7 timing support to edid parser.
      - Add a weak backpointer to the ttm_bo from ttm_resource
      - Add 3 eDP panels.
      
      Driver Changes:
      - Add support for HDMI and JZ4780 to ingenic.
      - Add support for higher DP/eDP bitrates to nouveau.
      - Assorted driver fixes to tilcdc, vmwgfx, sn65dsi83, meson, stm, panfrost, v3d, gma500, vc4, virtio, mgag200, ast, radeon, amdgpu, nouveau, various bridge drivers.
      - Convert and revert exynos dsi support to bridge driver.
      - Add vcc supply regulator support for sn65dsi83.
      - More conversion of bridge/chipone-icn6211 to atomic.
      - Remove conflicting fb's from stm, and add support for new hw version.
      - Add device link in parade-ps8640 to fix suspend/resume.
      - Update Boe-tv110c9m init sequence.
      - Add wide screen support to AST2600.
      - Fix omapdrm implicit dma_buf fencing.
      - Add support for multiple overlay planes to vkms.
      - Convert bridge/anx7625 to atomic, add HDCP support,
        add eld support for audio, and fix HPD.
      - Add driver for ChromeOS privacy screen.
      - Handover display from firmware to vc4 more gracefully, and support nomodeset.
      - Add flexible and ycbcr pixel formats to stm/ltdc.
      - Convert exynos mipi dsi to atomic.
      - Add initial dual core group GPUs support to panfrost.
      - No longer add exclusive fence in amdgpu as shared fence.
      - Add CSC and full range supoprt to vc4.
      - Shutdown the display on system shutdown and unbind.
      - Add Multi-Inno Technology MI0700S4T-6 simple panel.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/456a23c6-7324-7543-0c45-751f30ef83f7@linux.intel.com
      53dbee49
  9. 31 Jan, 2022 1 commit
  10. 30 Jan, 2022 18 commits
  11. 29 Jan, 2022 5 commits
    • Thomas Gleixner's avatar
      Merge tag 'irqchip-fixes-5.17-1' of... · 243d3080
      Thomas Gleixner authored
      Merge tag 'irqchip-fixes-5.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms into irq/urgent
      
      Pull irqchip fixes from Marc Zyngier:
      
        - Drop an unused private data field in the AIC driver
      
        - Various fixes to the realtek-rtl driver
      
        - Make the GICv3 ITS driver compile again in !SMP configurations
      
        - Force reset of the GICv3 ITSs at probe time to avoid issues during kexec
      
        - Yet another kfree/bitmap_free conversion
      
        - Various DT updates (Renesas, SiFive)
      
      Link: https://lore.kernel.org/r/20220128174217.517041-1-maz@kernel.org
      243d3080
    • Linus Torvalds's avatar
      Merge tag 'pci-v5.17-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · f8c7e4ed
      Linus Torvalds authored
      Pull pci fixes from Bjorn Helgaas:
      
       - Fix compilation warnings in new mt7621 driver (Sergio Paracuellos)
      
       - Restore the sysfs "rom" file for VGA shadow ROMs, which was broken
         when converting "rom" to be a static attribute (Bjorn Helgaas)
      
      * tag 'pci-v5.17-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
        PCI/sysfs: Find shadow ROM before static attribute initialization
        PCI: mt7621: Remove unused function pcie_rmw()
        PCI: mt7621: Drop of_match_ptr() to avoid unused variable
      f8c7e4ed
    • Linus Torvalds's avatar
      Merge tag 'gpio-fixes-for-v5.17-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · 4cd90083
      Linus Torvalds authored
      Pull gpio fixes from Bartosz Golaszewski:
       "Two fixes for the gpio-simulator:
      
         - fix a bug with hogs not being set-up in gpio-sim when user-space
           sets the chip label to an empty string
      
         - include the gpio-sim documentation in the index"
      
      * tag 'gpio-fixes-for-v5.17-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
        gpio: sim: add doc file to index file
        gpio: sim: check the label length when setting up device properties
      4cd90083
    • Linus Torvalds's avatar
      Merge tag 'char-misc-5.17-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · e255759e
      Linus Torvalds authored
      Pull char/misc driver fixes from Greg KH:
       "Here are two small char/misc driver fixes for 5.17-rc2 that fix some
        reported issues. They are:
      
         - fix up a merge issue in the at25.c driver that ended up dropping
           some lines in the driver. The removed lines ended being needed, so
           this restores it and the driver works again.
      
         - counter core fix where the wrong error was being returned, NULL
           should be the correct error for when memory is gone here, like the
           kmalloc() core does.
      
        Both of these have been in linux-next this week with no reported
        issues"
      
      * tag 'char-misc-5.17-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        counter: fix an IS_ERR() vs NULL bug
        eeprom: at25: Restore missing allocation
      e255759e
    • Linus Torvalds's avatar
      Merge tag 'tty-5.17-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · bb37101b
      Linus Torvalds authored
      Pull tty/serial driver fixes from Greg KH:
       "Here are some small bug fixes and reverts for reported problems with
        the tty core and drivers. They include:
      
         - revert the fifo use for the 8250 console mode. It caused too many
           regressions and problems, and had a bug in it as well. This is
           being reworked and should show up in a later -rc1 release, but it's
           not ready for 5.17
      
         - rpmsg tty race fix
      
         - restore the cyclades.h uapi header file. Turns out a compiler test
           suite used it for some unknown reason. Bring it back just for the
           parts that are used by the builder test so they continue to build.
           No functionality is restored as no one actually has this hardware
           anymore, nor is it really tested.
      
         - stm32 driver fixes
      
         - n_gsm flow control fixes
      
         - pl011 driver fix
      
         - rs485 initialization fix
      
        All of these have been in linux-next this week with no reported
        problems"
      
      * tag 'tty-5.17-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        kbuild: remove include/linux/cyclades.h from header file check
        serial: core: Initialize rs485 RTS polarity already on probe
        serial: pl011: Fix incorrect rs485 RTS polarity on set_mctrl
        serial: stm32: fix software flow control transfer
        serial: stm32: prevent TDR register overwrite when sending x_char
        tty: n_gsm: fix SW flow control encoding/handling
        serial: 8250: of: Fix mapped region size when using reg-offset property
        tty: rpmsg: Fix race condition releasing tty port
        tty: Partially revert the removal of the Cyclades public API
        tty: Add support for Brainboxes UC cards.
        Revert "tty: serial: Use fifo in 8250 console driver"
      bb37101b