FreeBSDDesktop / kms-drm

the DRM part of the linuxkpi-based KMS
63 stars 26 forks source link

I2C (DDC) #179

Open victor910 opened 4 years ago

victor910 commented 4 years ago

My system Freebsd 12.0 My processor: Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz (kaby lake) Internal video card HD Graphics 620

I had installed port drm-kmod" The question, how to enable "gmbus " support? My final target will have access to HDMI DDC - (I2C).

I believe something wrong with GMBus.

I had to try to install Debian on the same machine, HDMI I2C has been detected&working correctly. For example a report from Debian: `test@debian# i2cdetect -l

i2c-0 i2c i915 gmbus dpa i2c adapter

i2c-1 i2c i915 gmbus dpb i2c adapter

i2c-2 i2c i915 gmbus dpc i2c adapter

i2c-3 i2c i915 gmbus dpd i2c adapter

i2c-4 i2c i915 DPDDC-C i2c adapter`

I have only this in my Freebsd Log: [drm:drm_dp_aux_register_devnode] drm_dp_aux_dev: aux [DPDDC-C] registered as minor 0`

But anyway I do not have any I2C controller under FreeBSD

Dmesg | grep drm

[drm:drm_core_init] Initialized drmn0: on vgapci0 vgapci0: child drmn0 requested pci_enable_io vgapci0: child drmn0 requested pci_enable_io [drm] Unable to create a private tmpfs mount, hugepage support will be disabled(-19). [drm:__intel_uncore_early_sanitize] unclaimed mmio detected on uncore init, clearing [drm] Got stolen memory base 0x8e000000, size 0x2000000 [drm] Supports vblank timestamp caching Rev 2 (21.10.2013). [drm] Driver supports precise vblank timestamp query. [drm:drm_irq_install] irq=16 [drm] Connector HDMI-A-1: get mode from tunables: [drm] - kern.vt.fb.modes.HDMI-A-1 [drm] - kern.vt.fb.default_mode [drm] Connector DP-1: get mode from tunables: [drm] - kern.vt.fb.modes.DP-1 [drm] - kern.vt.fb.default_mode [drm:drm_calc_timestamping_constants] crtc 37: hwmode: htotal 2720, vtotal 1481, vdisplay 1440 [drm:drm_calc_timestamping_constants] crtc 37: clock 241500 kHz framedur 16680414 linedur 11262 [drm:drm_mode_object_get] OBJ ID: 59 (2) [drm:drm_mode_object_get] OBJ ID: 59 (3) [drm:drm_mode_object_get] OBJ ID: 64 (2) [drm:drm_minor_register] [drm:drm_minor_register] [drm:drm_minor_register] new minor registered 128 [drm:drm_minor_register] [drm:drm_minor_register] new minor registered 0 [drm:drm_sysfs_connector_add] adding "HDMI-A-1" to sysfs [drm:drm_sysfs_hotplug_event] generating hotplug event [drm:drm_sysfs_connector_add] adding "DP-1" to sysfs [drm:drm_sysfs_hotplug_event] generating hotplug event [drm:drm_dp_aux_register_devnode] drm_dp_aux_dev: aux [DPDDC-C] registered as minor 0 [drm] Initialized i915 1.6.0 20171222 for drmn0 on minor 0 [drm:drm_sysfs_hotplug_event] generating hotplug event [drm:drm_mode_object_get] OBJ ID: 59 (3) [drm:drm_mode_object_get] OBJ ID: 68 (1) [drm:drm_mode_object_put] OBJ ID: 68 (2) [drm:drm_mode_object_get] OBJ ID: 85 (1) [drm:drm_mode_object_get] OBJ ID: 59 (5) [drm:drm_mode_object_get] OBJ ID: 59 (6) [drm:drm_mode_object_put] OBJ ID: 59 (6) [drm:drm_mode_object_get] OBJ ID: 59 (5) [drm:drm_calc_timestamping_constants] crtc 37: hwmode: htotal 2720, vtotal 1481, vdisplay 1440 [drm:drm_calc_timestamping_constants] crtc 37: clock 241500 kHz framedur 16680414 linedur 11262 [drm] Reducing the compressed framebuffer size. This may lead to less power savings than a non-reduced-size. Try to increase stolen memory size if available in BIOS. [drm:drm_vblank_enable] enabling vblank on crtc 0, ret: 0 name=drmn0 flags=0x0 stride=10240 bpp=32 drmn0: fb0: inteldrmfb frame buffer device [drm:drm_handle_vblank_events] vblank event on 5, current 5 [drm:drm_mode_object_put] OBJ ID: 68 (1) [drm:drm_mode_object_get] OBJ ID: 85 (2) [drm:drm_mode_object_put] OBJ ID: 59 (6) [drm:drm_mode_object_put] OBJ ID: 59 (5) [drm:vblank_disable_fn] disabling vblank on crtc 0 drmn0: successfully loaded firmware image with name: i915/kbl_dmc_ver1_04.bin [drm] Finished loading DMC firmware i915/kbl_dmc_ver1_04.bin (v1.4)

how you see right now, I do not have to detect HDMI I2C in my log.

valpackett commented 4 years ago

Yes, these devices are not exposed, this is a known issue: #10

victor910 commented 4 years ago

Are they not exposed because it wasn't implemented? Or, because there is an error in code?