Giter Site home page Giter Site logo

pablopl / linux Goto Github PK

View Code? Open in Web Editor NEW

This project forked from torvalds/linux

17.0 17.0 0.0 4.83 GB

Linux kernel source tree

License: Other

Makefile 0.20% C 98.31% Assembly 0.81% C++ 0.03% Shell 0.34% Awk 0.01% Perl 0.10% Python 0.13% Yacc 0.01% Lex 0.01% UnrealScript 0.01% Gherkin 0.01% XS 0.01% Roff 0.02% Clojure 0.01% M4 0.01% sed 0.01% SmPL 0.01% Raku 0.01% Rust 0.03%

linux's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

linux's Issues

Submit atmel_mxt_ts patches

Patches submited to mainline, waiting for feedback.

After merge, two patches adding it to aries can submited with other (vibrator/audio/lcd/etc).

exynos7420

Excuse me,Will you continue to improve the exynos7420?

GUI acceleration support

We can use:

  • g2d (there are two drivers for it, one in media directory but old. New is in drm directory, but it don't have support for our soc and also would require changes in libdrm)
  • powervr sgx540

Camera support

Looks like we never opened an issue for this. Cameras are:

  • NEC CE147 (5MP rear camera)
  • Samsung S5KA3DFX (comment in vendor kernel source code says 1/4" 2.0Mp CMOS image sensor but the driver only supports 0.3MP)

Is connected to the FIMC; based on pawitp/android_kernel_samsung_aries@359bccf S5K is connected to FIMC0; but Android userspace opens both FIMC0 and FIMC2 for both cameras regardless.

Some more info could be found at https://blog.forkwhiletrue.me/posts/camera-on-galaxy-s3/

Aries patches v3

Nodes and defconfig changes for:

  • fmradio for galaxys
  • touchkeys
  • s6e63m0 panel
  • bma150
  • gp2a
  • fsa9480
  • max8998 charger

Branch for-upstream/aries-patches-v3

TODO: need to wait till all other patches are applied (moved from linux-next).

Current kernel reboot once bcm firmware is in place.

Hello, I'm trying to debug the current issue I have with my kernel
While booting the device with the current galaxys-all branch on a fedora 31 userspace the device reboots while the NetworkManager takes over, I expect it's related to the wifi/bluetooth because it reboot once the related firmwares are in place.

https://paste.centos.org/view/1dc19b8d

But nothing seems to be written to the journal.
Is there any way to debug further ? Can I setup a console over the usb wire ? How ?
Anything obviously wrong in the kernel configuration ?
https://paste.centos.org/view/b0ff2c25

Cpufreq support

Changes on branch for-upstream/cpufreq

Got it working with current cpufreq implementation, after few fixed.
Will try to push them upstream.

Max8998 charger

Without this it's impossible to charge batter, when using mainline kernel.

Prepared v2 version of patchset and send to LKML.

onenand support

In addition to the DT patches floating around (on for-upstream/onenand), there's still some subpage sft/oob layout differences that I will try to explain. Additionally there are the 8Gb changes for SGS4G devices

99b17c0 swapped out the oob layout and subpage sft. This was found to have some issues (described in https://patchwork.ozlabs.org/patch/98355/ - there is even mention of Nexus S here) how different versions had slight differences. The above conversation resulted in e1c1024 - but I have no idea how the oob layout changes may affect things (v1 discussion for above patch is at https://patchwork.ozlabs.org/patch/99352/ v2 discussion at https://patchwork.ozlabs.org/patch/101392/).

Assuming it is only the subpage_sft that needs changing and that the new ooblayouts can be used, then the 8Gb patches should be adjusted to use ONENAND_HAS_NOP_1 - I will try and test this and see if it's possible.

i9000b ISDB-T tuner

Hi, I've bought the brazilian variant of i9000 known as i9000b quite a long time ago. No obvious differences in hardware save for the included ISDB-T tuner which the other versions do not have.
I have done very little kernel work and zero hardware-related development, also I have no idea how well supported this kind of hardware is on linux, I'll try to help identifying which device is this if needed.

Aries v2 patches

Branch: for-upstream/aries-patches-v2

Here is list of patches which will be submited in v2 patchset for aries.

  • s5p-jpeg
  • s5p-mfc
  • poweroff
  • vibrator
  • atmel_mxt_ts
  • bluetooth

Branch with all known patches

I've grown tired of maintaining many different for-upstream/* branches during development. I think it makes sense only to have them when actively trying to upstream patches.

As such, I've created a branch at https://github.com/xc-racer99/linux/tree/all-devices where I've put all the patches from all the various branches. Note that I have put a few fixes to those commits that aren't in the for-upstream branches. I plan on rebasing it periodically.

While I'm kind of torn about this decision as it definitely makes upstreaming more difficult, I think it will be useful for development as there will be a solid base to build upon. It should be relatively easy to pick the relevant commits for an issue. As long as it gets rebased and the commits kept in a logical order, I think it should work well.

exynos7580 - j7elte device request

Hello there!

I hope you're having a good day. So it would be nice if you could actually improve on exynos7580 and actually add support for the Samsung Galaxy J7 from 2015 which is codenamed j7elte.

I just ported that device to run PostMarketOS based on the downstream LinageOS kernel and am trying to run your kernel on it
Here is my device port for more information...

Bluetooth support

Hint: 3000000 is uart speed on Nexus S. It's connected to uart0.

There is already driver (maybe it could be used): brcm,bcm43438-bt

DWC2 USB is broken

It fails to probe with error dwc2 ec000000.hsotg: dwc2_core_reset: HANG! AHB Idle timeout GRSTCTL GRSTCTL_AHBIDLE

A bisect shows fe369e1 to be the first bad commit

cpuidle support

Came across this while searching through vendor kernel for audio info and noticed it wasn't upstream.

Should be fairly easy to add, implementation for 3.0 present at https://github.com/xc-racer99/android_kernel_samsung_aries/blob/cm-10.1/arch/arm/mach-s5pv210/cpuidle.c

Would need to adjust it for current cpuidle interface as well as moving it to drivers/soc/samsung. Should probably use the pmu_syscon phandle and an offset to obtain the S5P_IDLE_CFG and S5P_PWR_CFG registers.

Note the above driver doesn't have anything beyond the basic idle state (ie no deep idle/stop/deep stop), although more states could be added in the future if desired (deep idle is the only one useful in my opinion and that would only be for music playback).

Suspend to RAM

Appears to sleep, doesn't wake up. Need to try with no_console_suspend

yas529 magnetometer

Branch created at https://github.com/PabloPL/linux/tree/for-upstream/yas529-iio and is heavily inspired by the invesense driver (eg https://android.googlesource.com/kernel/tegra/+/f1e961e877025f60cc409180350a3def85f26f64/drivers/misc/inv_mpu/compass/yas529-kernel.c) as opposed to our stock one.

Appears to work as expected, although the calibration and/or scale of it may be off (magnetic sensors are way outside my knowledge range)

Info sheet at https://www.digchip.com/datasheets/parts/datasheet/535/YAS529-pdf.php but there's no public datasheet.

SDHCI ADMA Error

As originally reported in #41 by @kwizart (and reproduced by myself several times, without a good method of doing so, although it seems to happen in disk-heavy workloads), the MMC controller can give errors like

[ 141.533993] mmc2: ADMA error: 0x02000000
[ 141.535137] mmc2: sdhci: ============ SDHCI REGISTER DUMP ===========
[ 141.540246] mmc2: sdhci: Sys addr: 0x347e4cc4 | Version: 0x00002401
[ 141.545358] mmc2: sdhci: Blk size: 0x00007004 | Blk cnt: 0x0000fffc
[ 141.550470] mmc2: sdhci: Argument: 0x00000000 | Trn mode: 0x00000013
[ 141.555583] mmc2: sdhci: Present: 0x01fa0000 | Host ctl: 0x00000012
[ 141.560696] mmc2: sdhci: Power: 0x00000000 | Blk gap: 0x00000000
[ 141.565809] mmc2: sdhci: Wake-up: 0x00000000 | Clock: 0x0000010f
[ 141.570921] mmc2: sdhci: Timeout: 0x0000000a | Int stat: 0x00000003
[ 141.576034] mmc2: sdhci: Int enab: 0x03ff004b | Sig enab: 0x03ff004b
[ 141.581147] mmc2: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000001
[ 141.586259] mmc2: sdhci: Caps: 0x05e80080 | Caps_1: 0x00000000
[ 141.591372] mmc2: sdhci: Cmd: 0x0000163a | Max curr: 0x00000000
[ 141.596485] mmc2: sdhci: Resp[0]: 0x00000920 | Resp[1]: 0x00000000
[ 141.601597] mmc2: sdhci: Resp[2]: 0x00000000 | Resp[3]: 0x00000000
[ 141.606710] mmc2: sdhci: Host ctl2: 0x00000000
[ 141.609831] mmc2: sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x349a3208
[ 141.614942] mmc2: sdhci: ============================================
[ 141.620057] mmc2: sdhci: 349a3200: DMA 0x347e4cc0, LEN 0x0004, Attr=0x23

I believe this is related to clocking issues, and a patch like

From fc9f477c992d4370905cb7e24990e9e2f0a9fabd Mon Sep 17 00:00:00 2001
From: Jonathan Bakker <[email protected]>
Date: Tue, 11 Feb 2020 15:30:14 -0800
Subject: [PATCH] arm: dts: s5pv210: Assign clocks to MMC devices

The SHDCI controller on aries devices is a little bit peculiar about
the clocks and with a slightly off clock can run into errors such as

[ 141.533993] mmc2: ADMA error: 0x02000000
[ 141.535137] mmc2: sdhci: ============ SDHCI REGISTER DUMP ===========
[ 141.540246] mmc2: sdhci: Sys addr: 0x347e4cc4 | Version: 0x00002401
[ 141.545358] mmc2: sdhci: Blk size: 0x00007004 | Blk cnt: 0x0000fffc
[ 141.550470] mmc2: sdhci: Argument: 0x00000000 | Trn mode: 0x00000013
[ 141.555583] mmc2: sdhci: Present: 0x01fa0000 | Host ctl: 0x00000012
[ 141.560696] mmc2: sdhci: Power: 0x00000000 | Blk gap: 0x00000000
[ 141.565809] mmc2: sdhci: Wake-up: 0x00000000 | Clock: 0x0000010f
[ 141.570921] mmc2: sdhci: Timeout: 0x0000000a | Int stat: 0x00000003
[ 141.576034] mmc2: sdhci: Int enab: 0x03ff004b | Sig enab: 0x03ff004b
[ 141.581147] mmc2: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000001
[ 141.586259] mmc2: sdhci: Caps: 0x05e80080 | Caps_1: 0x00000000
[ 141.591372] mmc2: sdhci: Cmd: 0x0000163a | Max curr: 0x00000000
[ 141.596485] mmc2: sdhci: Resp[0]: 0x00000920 | Resp[1]: 0x00000000
[ 141.601597] mmc2: sdhci: Resp[2]: 0x00000000 | Resp[3]: 0x00000000
[ 141.606710] mmc2: sdhci: Host ctl2: 0x00000000
[ 141.609831] mmc2: sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x349a3208
[ 141.614942] mmc2: sdhci: ============================================
[ 141.620057] mmc2: sdhci: 349a3200: DMA 0x347e4cc0, LEN 0x0004, Attr=0x23

Specifically assign the mmc sclks to be parented from MPLL with specific
rates that match the vendor kernel.

Signed-off-by: Jonathan Bakker <[email protected]>
---
 arch/arm/boot/dts/s5pv210-aries.dtsi  | 8 ++++++++
 arch/arm/boot/dts/s5pv210-galaxys.dts | 4 ++++
 2 files changed, 12 insertions(+)

diff --git a/arch/arm/boot/dts/s5pv210-aries.dtsi b/arch/arm/boot/dts/s5pv210-aries.dtsi
index 13cd7899497c..f1dd5ff9a965 100644
--- a/arch/arm/boot/dts/s5pv210-aries.dtsi
+++ b/arch/arm/boot/dts/s5pv210-aries.dtsi
@@ -1019,6 +1019,10 @@
 	non-removable;
 	status = "okay";
 
+	assigned-clocks = <&clocks MOUT_MMC1>, <&clocks SCLK_MMC1>;
+	assigned-clock-rates = <0>, <50000000>;
+	assigned-clock-parents = <&clocks MOUT_MPLL>;
+
 	wlan@1 {
 		reg = <1>;
 		compatible = "brcm,bcm4329-fmac";
@@ -1035,6 +1039,10 @@
 	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &tf_detect>;
 	pinctrl-names = "default";
 	status = "okay";
+
+	assigned-clocks = <&clocks MOUT_MMC2>, <&clocks SCLK_MMC2>;
+	assigned-clock-rates = <0>, <50000000>;
+	assigned-clock-parents = <&clocks MOUT_MPLL>;
 };
 
 &uart0 {
diff --git a/arch/arm/boot/dts/s5pv210-galaxys.dts b/arch/arm/boot/dts/s5pv210-galaxys.dts
index fa4ad4dfa8af..abea15c0e892 100644
--- a/arch/arm/boot/dts/s5pv210-galaxys.dts
+++ b/arch/arm/boot/dts/s5pv210-galaxys.dts
@@ -613,6 +613,10 @@
 	pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4>;
 	pinctrl-names = "default";
 	status = "okay";
+
+	assigned-clocks = <&clocks MOUT_MMC0>, <&clocks SCLK_MMC0>;
+	assigned-clock-rates = <0>, <52000000>;
+	assigned-clock-parents = <&clocks MOUT_MPLL>;
 };
 
 &uart3 {
-- 
2.20.1

appears to solve things. This matches the clock configuration from the vendor kernel.

gp2a

Changes already done on brach for-upstream/gp2a, need to send them to mainline

BMA150

Patches created by @xc-racer99 (spitted one of patches into two separate, first making changes in driver and second one adding documentation).

PVR usabilty/stability on 5.9

I'm using a dedicated issue to track the PVR problem I have on my userspace (Fedora 31) using upstream 5.9. kernel, I'm using xc-racer99/linux/tree/v5.9-rc2-all-devices rebased on top of v5.9.5.

  • lsmod |grep pvrsrvkm
    pvrsrvkm_s5pv210_sgx540_120

  • The module is loaded automatically on boot (but should not ends in the initramfs)

  • dmesg |grep pvr

[   42.798376] pvrsrvkm f3000000.g3d: Enabling quirks 00000000
[   42.876125] [drm] Initialized pvr 1.17.4948957 20110701 for f3000000.g3d on minor 1

Sometime the service is failing at boot, I usually remove the battery for one minute and it's back to work on the next boot.

  • systemd service instead of a pvr.rc file.
echo > /etc/systemd/system/pvr.service  <<EOF
[Unit]
Description=PowerVR consumer services
Before=display-manager.service

[Service]
Type=oneshot
ExecStart=/usr/bin/pvrsrvctl --start --no-module

[Install]
WantedBy=multi-user.target
EOF

  • ps aux |grep pvr
root       324  0.0  0.0      0     0 ?        I<   16:44   0:00 [pvr_timer]
root       433  0.0  0.0      0     0 ?        I<   16:44   0:00 [pvr_workqueue]
root       615  0.0  0.5   7688  2012 pts/0    S+   16:48   0:00 grep --color=auto pvr

If the pvr service isn't successful I only have pvr_timer when the pvrsrvkm_s5pv210_sgx540_120 module is loaded...

  • drmdevice shows exynos-drm in render128 and card0 and samsung,s5pv210-sgx540-120 in card1 render129

  • cat /etc/powervr.ini

[default]
WindowSystem=libpvrDRMWSEGL.so
DefaultPixelFormat=RGB888

Here is the output when running the command from the remote terminal as user.
galaxys-eglinfo_kmscube.txt

Here is the journal output
galaxys-pvrsgx-5.9.5.txt

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.