My rookie mistake, doing this for the first time -- I did not have sys on my machine and ftped it using uname -r and got the stable version. I will figure the way for getting the -current snapshot version and then apply the changes suggested and test.
regards On Fri, Feb 21, 2025 at 8:39 AM Johnny Epsom <johnnyep...@gmail.com> wrote: > Thank you Jonathan for the quick response with the changes. > > But the file intel.dp.c on my machine looks different when I try to plug > in the patch. > Can you clarify ..... I have attached the complete file. > apologies if I am missing something here. > > 3927 case DP_PHY_TEST_PATTERN_ERROR_COUNT: > 3928 drm_dbg_kms(&dev_priv->drm, "Set Error Count Phy > Test Pattern\n"); > 3929 intel_de_write(dev_priv, DDI_DP_COMP_CTL(pipe), > 3930 DDI_DP_COMP_CTL_ENABLE | > 3931 DDI_DP_COMP_CTL_SCRAMBLED_0); > 3932 break; > 3933 case DP_PHY_TEST_PATTERN_PRBS7: > .................. > 3951 intel_de_write(dev_priv, DDI_DP_COMP_PAT(pipe, 2), > pattern_val); > 3952 intel_de_write(dev_priv, DDI_DP_COMP_CTL(pipe), > 3953 DDI_DP_COMP_CTL_ENABLE | > 3954 DDI_DP_COMP_CTL_CUSTOM80); > 3955 break; > 3956 case DP_PHY_TEST_PATTERN_CP2520: > 3957 /* > 3958 * FIXME: Ideally pattern should come from DPCD > 0x24A. As > 3959 * current firmware of DPR-100 could not set it, > so hardcoding > .................... > > > On Wed, Feb 19, 2025 at 10:15 PM Jonathan Gray <j...@jsg.id.au> wrote: > >> On Wed, Feb 19, 2025 at 07:53:15PM -0500, Johnny Epsom wrote: >> > Hi Team >> > >> > I am running current 7.6 on a Thinkpad T14 (Gen1 - Intel) and when I >> > connect the laptop to my Dell USB-C dock, I am getting a crash. The >> system >> > drop into ddb and I need to restart the machine. >> > >> > The issue seems to have started from around version update #540 >> (upgraded >> > current from v535) -- I believe there was a recent change in drm >> drivers >> > which may have caused this -- > >> > https://marc.info/?l=openbsd-cvs&m=173889719518405&w=2 >> > >> > I have another machine (X1C6) on an older snapshot - #505 - which is >> > working is fine. >> > >> > I don't have serial console to get the crash details -- I have captured >> the >> > error messages using my phone (show panic / trace /ps etc) -- links. >> > >> > dmesg on restart shows an drm failure. >> > https://i.postimg.cc/yxkrh5r7/Crash1.jpg >> > https://i.postimg.cc/zDcQDzVv/Crash2.jpg >> > https://i.postimg.cc/Hs8hVqy2/Crash-machddb1.jpg >> > https://i.postimg.cc/3NVftBPm/Crash-ps1.jpg >> > https://i.postimg.cc/3xMbptjH/Crash-ps2.jpg >> > https://i.postimg.cc/zGn2kTpH/Crash-ps3.jpg >> > Apologies if the above is not enough ...please let me know if there is >> > something else I can capture which may be of help in diagnosis. >> > >> > Thanks in advance. >> >> Thanks for the report, please send them to bugs@ next time. >> Try a kernel with the below patch. >> >> from Crash1.jpg >> intel_dp_get_dsc_sink_cap+0x148 >> intel_dp_add_mst_connector+0xeb >> drm_dp_mst_port_add_connector+0x162 >> drm_dp_send_link_address+0x78f >> drm_dp_check_and_send_link_address+0x38 >> drm_dp_mst_link_probe_work+0x20d >> >> /sys/dev/pci/drm/i915/display/intel_dp.c line 3952 >> >> 3927 void intel_dp_get_dsc_sink_cap(u8 dpcd_rev, struct >> intel_connector *connector) >> 3928 { >> 3929 struct drm_i915_private *i915 = to_i915(connector-> >> base.dev); >> >> 3951 >> 3952 drm_dbg_kms(&i915->drm, "FEC CAPABILITY: %x\n", >> 3953 connector->dp.fec_capability); >> 3954 } >> >> 'drm/i915/dp_mst: Fix connector initialization in >> intel_dp_add_mst_connector()' >> >> >> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d58f65df2dcb59acd3965907507cfa608fe924b4 >> >> Index: sys/dev/pci/drm/i915/display/intel_dp_mst.c >> =================================================================== >> RCS file: /cvs/src/sys/dev/pci/drm/i915/display/intel_dp_mst.c,v >> diff -u -p -r1.13 intel_dp_mst.c >> --- sys/dev/pci/drm/i915/display/intel_dp_mst.c 7 Feb 2025 03:03:29 >> -0000 1.13 >> +++ sys/dev/pci/drm/i915/display/intel_dp_mst.c 20 Feb 2025 02:50:35 -0000 >> @@ -1719,6 +1719,16 @@ static struct drm_connector *intel_dp_ad >> >> intel_dp_init_modeset_retry_work(intel_connector); >> >> + /* >> + * TODO: The following drm_connector specific initialization >> belongs >> + * to DRM core, however it happens atm too late in >> + * drm_connector_init(). That function will also expose the >> connector >> + * to in-kernel users, so it can't be called until the connector >> is >> + * sufficiently initialized; init the device pointer used by the >> + * following DSC setup, until a fix moving this to DRM core. >> + */ >> + intel_connector->base.dev = mgr->dev; >> + >> intel_connector->dp.dsc_decompression_aux = >> drm_dp_mst_dsc_aux_for_port(port); >> intel_dp_mst_read_decompression_port_dsc_caps(intel_dp, >> intel_connector); >> intel_connector->dp.dsc_hblank_expansion_quirk = >> >