03 Nov, 2020

1 commit

  • Commit 6735b4632def ("Fonts: Support FONT_EXTRA_WORDS macros for built-in
    fonts") introduced the following error when building rpc_defconfig (only
    this build appears to be affected):

    `acorndata_8x8' referenced in section `.text' of arch/arm/boot/compressed/ll_char_wr.o:
    defined in discarded section `.data' of arch/arm/boot/compressed/font.o
    `acorndata_8x8' referenced in section `.data.rel.ro' of arch/arm/boot/compressed/font.o:
    defined in discarded section `.data' of arch/arm/boot/compressed/font.o
    make[3]: *** [/scratch/linux/arch/arm/boot/compressed/Makefile:191: arch/arm/boot/compressed/vmlinux] Error 1
    make[2]: *** [/scratch/linux/arch/arm/boot/Makefile:61: arch/arm/boot/compressed/vmlinux] Error 2
    make[1]: *** [/scratch/linux/arch/arm/Makefile:317: zImage] Error 2

    The .data section is discarded at link time. Reinstating acorndata_8x8 as
    const ensures it is still available after linking. Do the same for the
    other 12 built-in fonts as well, for consistency purposes.

    Cc:
    Cc: Russell King
    Reviewed-by: Greg Kroah-Hartman
    Fixes: 6735b4632def ("Fonts: Support FONT_EXTRA_WORDS macros for built-in fonts")
    Signed-off-by: Lee Jones
    Co-developed-by: Peilin Ye
    Signed-off-by: Peilin Ye
    Signed-off-by: Daniel Vetter
    Link: https://patchwork.freedesktop.org/patch/msgid/20201102183242.2031659-1-yepeilin.cs@gmail.com

    Lee Jones
     

24 Oct, 2020

1 commit

  • Pull more drm fixes from Dave Airlie:
    "This should be the last round of things for rc1, a bunch of i915
    fixes, some amdgpu, more font OOB fixes and one ttm fix just found
    reading code:

    fbcon/fonts:
    - Two patches to prevent OOB access

    ttm:
    - fix for evicition value range check

    amdgpu:
    - Sienna Cichlid fixes
    - MST manager resource leak fix
    - GPU reset fix

    amdkfd:
    - Luxmark fix for Navi1x

    i915:
    - Tweak initial DPCD backlight.enabled value (Sean)
    - Initialize reserved MOCS indices (Ayaz)
    - Mark initial fb obj as WT on eLLC machines to avoid rcu lockup (Ville)
    - Support parsing of oversize batches (Chris)
    - Delay execlists processing for TGL (Chris)
    - Use the active reference on the vma during error capture (Chris)
    - Widen CSB pointer (Chris)
    - Wait for CSB entries on TGL (Chris)
    - Fix unwind for scratch page allocation (Chris)
    - Exclude low patches of stolen memory (Chris)
    - Force VT'd workarounds when running as a guest OS (Chris)
    - Drop runtime-pm assert from vpgu io accessors (Chris)"

    * tag 'drm-next-2020-10-23' of git://anongit.freedesktop.org/drm/drm: (31 commits)
    drm/amdgpu: correct the cu and rb info for sienna cichlid
    drm/amd/pm: remove the average clock value in sysfs
    drm/amd/pm: fix pp_dpm_fclk
    Revert drm/amdgpu: disable sienna chichlid UMC RAS
    drm/amd/pm: fix pcie information for sienna cichlid
    drm/amdkfd: Use same SQ prefetch setting as amdgpu
    drm/amd/swsmu: correct wrong feature bit mapping
    drm/amd/psp: Fix sysfs: cannot create duplicate filename
    drm/amd/display: Avoid MST manager resource leak.
    drm/amd/display: Revert "drm/amd/display: Fix a list corruption"
    drm/amdgpu: update golden setting for sienna_cichlid
    drm/amd/swsmu: add missing feature map for sienna_cichlid
    drm/amdgpu: correct the gpu reset handling for job != NULL case
    drm/amdgpu: add rlc iram and dram firmware support
    drm/amdgpu: add function to program pbb mode for sienna cichlid
    drm/i915: Drop runtime-pm assert from vgpu io accessors
    drm/i915: Force VT'd workarounds when running as a guest OS
    drm/i915: Exclude low pages (128KiB) of stolen from use
    drm/i915/gt: Onion unwind for scratch page allocation failure
    drm/ttm: fix eviction valuable range check.
    ...

    Linus Torvalds
     

19 Oct, 2020

1 commit

  • Recently, in commit 6735b4632def ("Fonts: Support FONT_EXTRA_WORDS macros
    for built-in fonts"), we wrapped each of our built-in data buffers in a
    `font_data` structure, in order to use the following macros on them, see
    include/linux/font.h:

    #define REFCOUNT(fd) (((int *)(fd))[-1])
    #define FNTSIZE(fd) (((int *)(fd))[-2])
    #define FNTCHARCNT(fd) (((int *)(fd))[-3])
    #define FNTSUM(fd) (((int *)(fd))[-4])

    #define FONT_EXTRA_WORDS 4

    Do the same thing to our new 6x8 font. For built-in fonts, currently we
    only use FNTSIZE(). Since this is only a temporary solution for an
    out-of-bounds issue in the framebuffer layer (see commit 5af08640795b
    ("fbcon: Fix global-out-of-bounds read in fbcon_get_font()")), all the
    three other fields are intentionally set to zero in order to discourage
    using these negative-indexing macros.

    Signed-off-by: Peilin Ye
    Signed-off-by: Daniel Vetter
    Link: https://patchwork.freedesktop.org/patch/msgid/926453876c92caac34cba8545716a491754d04d5.1603037079.git.yepeilin.cs@gmail.com

    Peilin Ye
     

16 Oct, 2020

1 commit

  • Pull drm updates from Dave Airlie:
    "Not a major amount of change, the i915 trees got split into display
    and gt trees to better facilitate higher level review, and there's a
    major refactoring of i915 GEM locking to use more core kernel concepts
    (like ww-mutexes). msm gets per-process pagetables, older AMD SI cards
    get DC support, nouveau got a bump in displayport support with common
    code extraction from i915.

    Outside of drm this contains a couple of patches for hexint
    moduleparams which you've acked, and a virtio common code tree that
    you should also get via it's regular path.

    New driver:
    - Cadence MHDP8546 DisplayPort bridge driver

    core:
    - cross-driver scatterlist cleanups
    - devm_drm conversions
    - remove drm_dev_init
    - devm_drm_dev_alloc conversion

    ttm:
    - lots of refactoring and cleanups

    bridges:
    - chained bridge support in more drivers

    panel:
    - misc new panels

    scheduler:
    - cleanup priority levels

    displayport:
    - refactor i915 code into helpers for nouveau

    i915:
    - split into display and GT trees
    - WW locking refactoring in GEM
    - execbuf2 extension mechanism
    - syncobj timeline support
    - GEN 12 HOBL display powersaving
    - Rocket Lake display additions
    - Disable FBC on Tigerlake
    - Tigerlake Type-C + DP improvements
    - Hotplug interrupt refactoring

    amdgpu:
    - Sienna Cichlid updates
    - Navy Flounder updates
    - DCE6 (SI) support for DC
    - Plane rotation enabled
    - TMZ state info ioctl
    - PCIe DPC recovery support
    - DC interrupt handling refactor
    - OLED panel fixes

    amdkfd:
    - add SMI events for thermal throttling
    - SMI interface events ioctl update
    - process eviction counters

    radeon:
    - move to dma_ for allocations
    - expose sclk via sysfs

    msm:
    - DSI support for sm8150/sm8250
    - per-process GPU pagetable support
    - Displayport support

    mediatek:
    - move HDMI phy driver to PHY
    - convert mtk-dpi to bridge API
    - disable mt2701 tmds

    tegra:
    - bridge support

    exynos:
    - misc cleanups

    vc4:
    - dual display cleanups

    ast:
    - cleanups

    gma500:
    - conversion to GPIOd API

    hisilicon:
    - misc reworks

    ingenic:
    - clock handling and format improvements

    mcde:
    - DSI support

    mgag200:
    - desktop g200 support

    mxsfb:
    - i.MX7 + i.MX8M
    - alpha plane support

    panfrost:
    - devfreq support
    - amlogic SoC support

    ps8640:
    - EDID from eDP retrieval

    tidss:
    - AM65xx YUV workaround

    virtio:
    - virtio-gpu exported resources

    rcar-du:
    - R8A7742, R8A774E1 and R8A77961 support
    - YUV planar format fixes
    - non-visible plane handling
    - VSP device reference count fix
    - Kconfig fix to avoid displaying disabled options in .config"

    * tag 'drm-next-2020-10-15' of git://anongit.freedesktop.org/drm/drm: (1494 commits)
    drm/ingenic: Fix bad revert
    drm/amdgpu: Fix invalid number of character '{' in amdgpu_acpi_init
    drm/amdgpu: Remove warning for virtual_display
    drm/amdgpu: kfd_initialized can be static
    drm/amd/pm: setup APU dpm clock table in SMU HW initialization
    drm/amdgpu: prevent spurious warning
    drm/amdgpu/swsmu: fix ARC build errors
    drm/amd/display: Fix OPTC_DATA_FORMAT programming
    drm/amd/display: Don't allow pstate if no support in blank
    drm/panfrost: increase readl_relaxed_poll_timeout values
    MAINTAINERS: Update entry for st7703 driver after the rename
    Revert "gpu/drm: ingenic: Add option to mmap GEM buffers cached"
    drm/amd/display: HDMI remote sink need mode validation for Linux
    drm/amd/display: Change to correct unit on audio rate
    drm/amd/display: Avoid set zero in the requested clk
    drm/amdgpu: align frag_end to covered address space
    drm/amdgpu: fix NULL pointer dereference for Renoir
    drm/vmwgfx: fix regression in thp code due to ttm init refactor.
    drm/amdgpu/swsmu: add interrupt work handler for smu11 parts
    drm/amdgpu/swsmu: add interrupt work function
    ...

    Linus Torvalds
     

25 Sep, 2020

1 commit

  • syzbot has reported an issue in the framebuffer layer, where a malicious
    user may overflow our built-in font data buffers.

    In order to perform a reliable range check, subsystems need to know
    `FONTDATAMAX` for each built-in font. Unfortunately, our font descriptor,
    `struct console_font` does not contain `FONTDATAMAX`, and is part of the
    UAPI, making it infeasible to modify it.

    For user-provided fonts, the framebuffer layer resolves this issue by
    reserving four extra words at the beginning of data buffers. Later,
    whenever a function needs to access them, it simply uses the following
    macros:

    Recently we have gathered all the above macros to . Let us
    do the same thing for built-in fonts, prepend four extra words (including
    `FONTDATAMAX`) to their data buffers, so that subsystems can use these
    macros for all fonts, no matter built-in or user-provided.

    This patch depends on patch "fbdev, newport_con: Move FONT_EXTRA_WORDS
    macros into linux/font.h".

    Cc: stable@vger.kernel.org
    Link: https://syzkaller.appspot.com/bug?id=08b8be45afea11888776f897895aef9ad1c3ecfd
    Signed-off-by: Peilin Ye
    Reviewed-by: Greg Kroah-Hartman
    Signed-off-by: Daniel Vetter
    Link: https://patchwork.freedesktop.org/patch/msgid/ef18af00c35fb3cc826048a5f70924ed6ddce95b.1600953813.git.yepeilin.cs@gmail.com

    Peilin Ye
     

08 Sep, 2020

1 commit

  • This font is derived from lib/fonts/font_6x10.c and is useful for small
    OLED displays

    Signed-off-by: Sven Schneider
    Signed-off-by: Sascha Hauer
    Reviewed-by: Greg Kroah-Hartman
    Signed-off-by: Bartlomiej Zolnierkiewicz
    Link: https://patchwork.freedesktop.org/patch/msgid/20200820082137.5907-1-s.hauer@pengutronix.de

    Sven Schneider
     

20 Jun, 2019

3 commits

  • Although we may have multiple fonts in kernel, the small 8x16 font is
    chosen as default usually unless user specify the boot option. This
    is suboptimal for monitors with high resolutions.

    This patch tries to assign a bigger font for such a high resolution by
    calculating some penalty value. This won't change anything for a
    standard monitor like Full HD (1920x1080), but for a high res monitor
    like UHD 4K, a bigger font like TER16x32 will be chosen once when
    enabled in Kconfig.

    Signed-off-by: Takashi Iwai
    Signed-off-by: Greg Kroah-Hartman

    Takashi Iwai
     
  • We have a nice macro, and the check of emptiness of the font table can
    be done in a simpler way.

    Signed-off-by: Takashi Iwai
    Acked-by: Randy Dunlap
    Signed-off-by: Greg Kroah-Hartman

    Takashi Iwai
     
  • Fix indentation, spaces, and move EXPORT_SYMBOL line to the
    appropriate place as a preliminary work. No actual code change.

    Signed-off-by: Takashi Iwai
    Signed-off-by: Greg Kroah-Hartman

    Takashi Iwai
     

21 May, 2019

1 commit


19 Dec, 2018

1 commit

  • This patch adds an option to compile-in a high resolution
    and large Terminus (ter16x32) bitmap console font for use with
    HiDPI and Retina screens.

    The font was convereted from standard Terminus ter-i32b.psf
    (size 16x32) with the help of psftools and minor hand editing
    deleting useless characters.

    This patch is non-intrusive, no options are enabled by default so most
    users won't notice a thing.

    I am placing my changes under the GPL 2.0 just as source Terminus font.

    Signed-off-by: Amanoel Dawod
    Signed-off-by: Greg Kroah-Hartman

    Amanoel Dawod
     

24 Aug, 2018

1 commit

  • The font files contain bit masks for characters in the cp437 character
    set, and comments showing what character this is supposed to be.

    This only makes sense when the terminal used to view the files is set to
    the same codepage, but all other files in the kernel now use utf-8
    encoding.

    This changes those comments to utf-8 as well, for consistency.

    Link: http://lkml.kernel.org/r/20180724111600.4158975-3-arnd@arndb.de
    Signed-off-by: Arnd Bergmann
    Cc: Greg Kroah-Hartman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arnd Bergmann
     

02 Nov, 2017

1 commit

  • Many source files in the tree are missing licensing information, which
    makes it harder for compliance tools to determine the correct license.

    By default all files without license information are under the default
    license of the kernel, which is GPL version 2.

    Update the files which contain no license information with the 'GPL-2.0'
    SPDX license identifier. The SPDX identifier is a legally binding
    shorthand, which can be used instead of the full boiler plate text.

    This patch is based on work done by Thomas Gleixner and Kate Stewart and
    Philippe Ombredanne.

    How this work was done:

    Patches were generated and checked against linux-4.14-rc6 for a subset of
    the use cases:
    - file had no licensing information it it.
    - file was a */uapi/* one with no licensing information in it,
    - file was a */uapi/* one with existing licensing information,

    Further patches will be generated in subsequent months to fix up cases
    where non-standard license headers were used, and references to license
    had to be inferred by heuristics based on keywords.

    The analysis to determine which SPDX License Identifier to be applied to
    a file was done in a spreadsheet of side by side results from of the
    output of two independent scanners (ScanCode & Windriver) producing SPDX
    tag:value files created by Philippe Ombredanne. Philippe prepared the
    base worksheet, and did an initial spot review of a few 1000 files.

    The 4.13 kernel was the starting point of the analysis with 60,537 files
    assessed. Kate Stewart did a file by file comparison of the scanner
    results in the spreadsheet to determine which SPDX license identifier(s)
    to be applied to the file. She confirmed any determination that was not
    immediately clear with lawyers working with the Linux Foundation.

    Criteria used to select files for SPDX license identifier tagging was:
    - Files considered eligible had to be source code files.
    - Make and config files were included as candidates if they contained >5
    lines of source
    - File already had some variant of a license header in it (even if
    Reviewed-by: Philippe Ombredanne
    Reviewed-by: Thomas Gleixner
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

28 Feb, 2017

1 commit

  • Keep fonts together and indented (in menu) as much as possible. This
    moves the Sparc font choices to the end of the menu since they have
    different dependencies.

    Link: http://lkml.kernel.org/r/de6d8977-c6d6-a82d-c953-f2a2fefdb8a5@infradead.org
    Signed-off-by: Randy Dunlap
    Cc: Geert Uytterhoeven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     

09 Oct, 2014

1 commit

  • This font is suitable for framebuffer consoles on devices with a
    320x240 screen, to get a reasonable number of characters (53x24) that
    are still at a readable size.

    The font is derived from the existing 6x11 font, but gets 3 extra
    lines without sacrificing readability. Also I redesigned a some glyhps
    so they are more distinct and better fill the available space.

    Signed-off-by: Maarten ter Huurne
    Signed-off-by: Tomi Valkeinen

    Maarten ter Huurne
     

23 Mar, 2014

1 commit


03 Feb, 2014

1 commit

  • The built-in ROM fonts lack many necessary ASCII characters, which is
    why it makes sens to prefer the Linux fonts instead if they are
    available. This makes consoles on STI graphics cards which are not
    supported by the stifb driver (e.g. Visualize FXe) looks much nicer.

    Signed-off-by: Helge Deller
    Cc: stable@vger.kernel.org # v3.13

    Helge Deller
     

28 Jun, 2013

1 commit

  • Several drivers need font support independent of CONFIG_VT, cfr. commit
    9cbce8d7e1dae0744ca4f68d62aa7de18196b6f4, "console/font: Refactor font
    support code selection logic").
    Hence move the fonts and their support logic from drivers/video/console/ to
    its own library directory lib/fonts/.
    This also allows to limit processing of drivers/video/console/Makefile to
    CONFIG_VT=y again.

    [Kevin Hilman : Update arch/arm/boot/compressed/Makefile]
    Signed-off-by: Geert Uytterhoeven

    Geert Uytterhoeven