Re: [linux-yocto] [PATCH 0/1] Fix i915 merge
On 2016-08-22 6:16 PM, Sullivan, California L wrote: It looks like the new kernel tools don't like the KERNEL_FEATURES variable being empty. The base and -rt kernels add features/netfilter/netfilter.scc, and features/debug/printk.scc is added to all QEMU machines in linux-yocto.inc so it hasn't been hit before. Adding anything to the KERNEL_FEATURES variable allowed me to built -tiny successfully for intel-quark. Yep, this was broken. I've added a test for empty inputs, and will send it out tomorrow. Cheers, Bruce --- Cal From: Bruce Ashfield [bruce.ashfi...@windriver.com] Sent: Monday, August 22, 2016 12:06 PM To: Sullivan, California L; linux-yocto@yoctoproject.org Cc: Ernst, Eric Subject: Re: [PATCH 0/1][linux-yocto] Fix i915 merge On 2016-08-22 2:20 PM, Sullivan, California L wrote: Hmm, the patches apply directly just fine. Preempt-rt has a few specific changes, but tiny has a zero diff for i915. I'm not sure why the default merge strategy isn't working. In any case, using 'git merge strategy=resolve' seems to work, we get the expected diff, and preempt-rt compiles again. Tiny compiles with the I can do that, but would have preferred a fixed up pull request, since -Xours always works as well, but isn't necessarily the right thing. I'll take care of the update, and if it is still broken, feel free to fire off more patches. old kernel tools. Tiny appears to not like the new kernel tools, as do_kernel_metadata fails until I revert back to old tools even with old SRCREVs, but I'll leave that for another time. I just built tiny for qemux86 with no issues: NOTE: Executing SetScene Tasks NOTE: Executing RunQueue Tasks WARNING: linux-yocto-tiny-4.4.18+gitAUTOINC+6a12efcabe_0a0c93f29c-r0 do_kernel_configcheck: [kernel config]: specified values did not make it into the kernel's final configuration: -- CONFIG_TINY_RCU - Config: CONFIG_TINY_RCU From: /home/bruce/poky/build/tmp/work-shared/qemux86/kernel-source/.kernel-meta/configs/standard/tiny/ktypes/tiny/tiny.cfg Requested value: CONFIG_TINY_RCU=y Actual value: Config 'TINY_RCU' has the following conditionals: !PREEMPT && !SMP (value: "n") Dependency values are: PREEMPT [y] y [y] SMP [y] -- CONFIG_BASE_SMALL - Config: CONFIG_BASE_SMALL From: /home/bruce/poky/build/tmp/work-shared/qemux86/kernel-source/.kernel-meta/configs/standard/tiny/ktypes/tiny/tiny.cfg Requested value: CONFIG_BASE_SMALL=1 Actual value: CONFIG_BASE_SMALL=0 Config 'BASE_SMALL' has the following conditionals: BASE_FULL (value: "y") !BASE_FULL (value: "n") Dependency values are: 1 [1] 0 [0] BASE_FULL [y] NOTE: Tasks Summary: Attempted 453 tasks of which 387 didn't need to be rerun and all succeeded. Summary: There were 5 WARNING messages shown. Bruce --- Cal On 08/19/2016 09:24 PM, Bruce Ashfield wrote: On 2016-08-19 11:35 PM, California Sullivan wrote: Eric, Bruce, please make sure my strategy with this fix is sane before merging. Looks sane to me, if it gets things building .. that's good enough for now. We can always apply more patches. If it is, please apply it to standard/intel/base and merge into all the other intel branches. I put this onto standard/intel/base and merged it into standard/intel/bxt-rebase. But I'm getting drm conflicts when I merged standard/intel/base into standard/preempt-rt/intel/base and standard/tiny/intel/base. So we need to look at those branches and identify what is missing (since I already have the same 4.4.18 and drm content merged to it already). Bruce Thanks, Cal Sullivan California Sullivan (1): drm/i915: Fix i915 merge with v4.4.16 drivers/gpu/drm/i915/i915_reg.h | 2 ++ drivers/gpu/drm/i915/intel_dp.c | 11 +-- drivers/gpu/drm/i915/intel_dp_link_training.c | 26 ++ drivers/gpu/drm/i915/intel_drv.h | 2 -- 4 files changed, 9 insertions(+), 32 deletions(-) -- ___ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto
Re: [linux-yocto] [PATCH 0/1] Fix i915 merge
On 2016-08-22 6:16 PM, Sullivan, California L wrote: It looks like the new kernel tools don't like the KERNEL_FEATURES variable being empty. The base and -rt kernels add features/netfilter/netfilter.scc, and features/debug/printk.scc is added to all QEMU machines in linux-yocto.inc so it hasn't been hit before. Interesting. That shouldn't be the case, but I can't recall testing it like that recently. I'll fire up a test and generate a patch if it breaks. Thanks for the report. Bruce Adding anything to the KERNEL_FEATURES variable allowed me to built -tiny successfully for intel-quark. --- Cal From: Bruce Ashfield [bruce.ashfi...@windriver.com] Sent: Monday, August 22, 2016 12:06 PM To: Sullivan, California L; linux-yocto@yoctoproject.org Cc: Ernst, Eric Subject: Re: [PATCH 0/1][linux-yocto] Fix i915 merge On 2016-08-22 2:20 PM, Sullivan, California L wrote: Hmm, the patches apply directly just fine. Preempt-rt has a few specific changes, but tiny has a zero diff for i915. I'm not sure why the default merge strategy isn't working. In any case, using 'git merge strategy=resolve' seems to work, we get the expected diff, and preempt-rt compiles again. Tiny compiles with the I can do that, but would have preferred a fixed up pull request, since -Xours always works as well, but isn't necessarily the right thing. I'll take care of the update, and if it is still broken, feel free to fire off more patches. old kernel tools. Tiny appears to not like the new kernel tools, as do_kernel_metadata fails until I revert back to old tools even with old SRCREVs, but I'll leave that for another time. I just built tiny for qemux86 with no issues: NOTE: Executing SetScene Tasks NOTE: Executing RunQueue Tasks WARNING: linux-yocto-tiny-4.4.18+gitAUTOINC+6a12efcabe_0a0c93f29c-r0 do_kernel_configcheck: [kernel config]: specified values did not make it into the kernel's final configuration: -- CONFIG_TINY_RCU - Config: CONFIG_TINY_RCU From: /home/bruce/poky/build/tmp/work-shared/qemux86/kernel-source/.kernel-meta/configs/standard/tiny/ktypes/tiny/tiny.cfg Requested value: CONFIG_TINY_RCU=y Actual value: Config 'TINY_RCU' has the following conditionals: !PREEMPT && !SMP (value: "n") Dependency values are: PREEMPT [y] y [y] SMP [y] -- CONFIG_BASE_SMALL - Config: CONFIG_BASE_SMALL From: /home/bruce/poky/build/tmp/work-shared/qemux86/kernel-source/.kernel-meta/configs/standard/tiny/ktypes/tiny/tiny.cfg Requested value: CONFIG_BASE_SMALL=1 Actual value: CONFIG_BASE_SMALL=0 Config 'BASE_SMALL' has the following conditionals: BASE_FULL (value: "y") !BASE_FULL (value: "n") Dependency values are: 1 [1] 0 [0] BASE_FULL [y] NOTE: Tasks Summary: Attempted 453 tasks of which 387 didn't need to be rerun and all succeeded. Summary: There were 5 WARNING messages shown. Bruce --- Cal On 08/19/2016 09:24 PM, Bruce Ashfield wrote: On 2016-08-19 11:35 PM, California Sullivan wrote: Eric, Bruce, please make sure my strategy with this fix is sane before merging. Looks sane to me, if it gets things building .. that's good enough for now. We can always apply more patches. If it is, please apply it to standard/intel/base and merge into all the other intel branches. I put this onto standard/intel/base and merged it into standard/intel/bxt-rebase. But I'm getting drm conflicts when I merged standard/intel/base into standard/preempt-rt/intel/base and standard/tiny/intel/base. So we need to look at those branches and identify what is missing (since I already have the same 4.4.18 and drm content merged to it already). Bruce Thanks, Cal Sullivan California Sullivan (1): drm/i915: Fix i915 merge with v4.4.16 drivers/gpu/drm/i915/i915_reg.h | 2 ++ drivers/gpu/drm/i915/intel_dp.c | 11 +-- drivers/gpu/drm/i915/intel_dp_link_training.c | 26 ++ drivers/gpu/drm/i915/intel_drv.h | 2 -- 4 files changed, 9 insertions(+), 32 deletions(-) -- ___ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto
Re: [linux-yocto] [PATCH 0/1] Fix i915 merge
It looks like the new kernel tools don't like the KERNEL_FEATURES variable being empty. The base and -rt kernels add features/netfilter/netfilter.scc, and features/debug/printk.scc is added to all QEMU machines in linux-yocto.inc so it hasn't been hit before. Adding anything to the KERNEL_FEATURES variable allowed me to built -tiny successfully for intel-quark. --- Cal From: Bruce Ashfield [bruce.ashfi...@windriver.com] Sent: Monday, August 22, 2016 12:06 PM To: Sullivan, California L; linux-yocto@yoctoproject.org Cc: Ernst, Eric Subject: Re: [PATCH 0/1][linux-yocto] Fix i915 merge On 2016-08-22 2:20 PM, Sullivan, California L wrote: > Hmm, the patches apply directly just fine. Preempt-rt has a few specific > changes, but tiny has a zero diff for i915. I'm not sure why the default > merge strategy isn't working. > > In any case, using 'git merge strategy=resolve' seems to work, we get > the expected diff, and preempt-rt compiles again. Tiny compiles with the I can do that, but would have preferred a fixed up pull request, since -Xours always works as well, but isn't necessarily the right thing. I'll take care of the update, and if it is still broken, feel free to fire off more patches. > old kernel tools. Tiny appears to not like the new kernel tools, as > do_kernel_metadata fails until I revert back to old tools even with old > SRCREVs, but I'll leave that for another time. I just built tiny for qemux86 with no issues: NOTE: Executing SetScene Tasks NOTE: Executing RunQueue Tasks WARNING: linux-yocto-tiny-4.4.18+gitAUTOINC+6a12efcabe_0a0c93f29c-r0 do_kernel_configcheck: [kernel config]: specified values did not make it into the kernel's final configuration: -- CONFIG_TINY_RCU - Config: CONFIG_TINY_RCU From: /home/bruce/poky/build/tmp/work-shared/qemux86/kernel-source/.kernel-meta/configs/standard/tiny/ktypes/tiny/tiny.cfg Requested value: CONFIG_TINY_RCU=y Actual value: Config 'TINY_RCU' has the following conditionals: !PREEMPT && !SMP (value: "n") Dependency values are: PREEMPT [y] y [y] SMP [y] -- CONFIG_BASE_SMALL - Config: CONFIG_BASE_SMALL From: /home/bruce/poky/build/tmp/work-shared/qemux86/kernel-source/.kernel-meta/configs/standard/tiny/ktypes/tiny/tiny.cfg Requested value: CONFIG_BASE_SMALL=1 Actual value: CONFIG_BASE_SMALL=0 Config 'BASE_SMALL' has the following conditionals: BASE_FULL (value: "y") !BASE_FULL (value: "n") Dependency values are: 1 [1] 0 [0] BASE_FULL [y] NOTE: Tasks Summary: Attempted 453 tasks of which 387 didn't need to be rerun and all succeeded. Summary: There were 5 WARNING messages shown. Bruce > > --- > Cal > > On 08/19/2016 09:24 PM, Bruce Ashfield wrote: >> On 2016-08-19 11:35 PM, California Sullivan wrote: >>> Eric, Bruce, please make sure my strategy with this fix is sane before >>> merging. >> Looks sane to me, if it gets things building .. that's good enough >> for now. We can always apply more patches. >> >>> If it is, please apply it to standard/intel/base and merge into all the >>> other intel branches. >> I put this onto standard/intel/base and merged it into >> standard/intel/bxt-rebase. >> >> But I'm getting drm conflicts when I merged standard/intel/base into >> standard/preempt-rt/intel/base and standard/tiny/intel/base. So we need >> to look at those branches and identify what is missing (since I already >> have the same 4.4.18 and drm content merged to it already). >> >> Bruce >> >>> Thanks, >>> Cal Sullivan >>> >>> California Sullivan (1): >>> drm/i915: Fix i915 merge with v4.4.16 >>> >>> drivers/gpu/drm/i915/i915_reg.h | 2 ++ >>> drivers/gpu/drm/i915/intel_dp.c | 11 +-- >>> drivers/gpu/drm/i915/intel_dp_link_training.c | 26 >>> ++ >>> drivers/gpu/drm/i915/intel_drv.h | 2 -- >>> 4 files changed, 9 insertions(+), 32 deletions(-) >>> >> > -- ___ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto
Re: [linux-yocto] [PATCH 1/3] features: Fix dependencies and =m vs =y discrepancies for corei7
On Mon, 2016-08-22 at 18:33 +, Sullivan, California L wrote: > On 08/20/2016 08:45 PM, Wold, Saul wrote: > > > > On Fri, 2016-08-19 at 20:40 -0700, California Sullivan wrote: > > > > > > I missed these in my first pass. This should fix the remaining > > > warnings > > > that occur with the intel-corei7-64 configurations. The ISDN > > > configurations might need to be broken out into their own feature > > > but > > > for now just enable them as dependencies for BT_CMTP. > > > > > > Signed-off-by: California Sullivan > > om> > > > --- > > > features/bluetooth/bluetooth.cfg | 7 ++- > > > features/ieee802154/ieee802154.cfg | 2 +- > > > 2 files changed, 7 insertions(+), 2 deletions(-) > > > > > > diff --git a/features/bluetooth/bluetooth.cfg > > > b/features/bluetooth/bluetooth.cfg > > > index fefb357..67d3f52 100644 > > > --- a/features/bluetooth/bluetooth.cfg > > > +++ b/features/bluetooth/bluetooth.cfg > > > @@ -1,5 +1,10 @@ > > > +# Dependencies > > > +CONFIG_ISDN=y > > > +CONFIG_ISDN_CAPI=m > > > + > > > +# Features > > > CONFIG_BT=y > > > -CONFIG_BT_6LOWPAN=y > > > +CONFIG_BT_6LOWPAN=m > > > CONFIG_BT_RFCOMM=m > > > CONFIG_BT_RFCOMM_TTY=y > > > CONFIG_BT_BNEP=m > > > diff --git a/features/ieee802154/ieee802154.cfg > > > b/features/ieee802154/ieee802154.cfg > > > index bd6c214..518adf0 100644 > > > --- a/features/ieee802154/ieee802154.cfg > > > +++ b/features/ieee802154/ieee802154.cfg > > > @@ -1,2 +1,2 @@ > > > CONFIG_IEEE802154=y > > > -CONFIG_IEEE802154_6LOWPAN=y > > > +CONFIG_IEEE802154_6LOWPAN=m > > > -- > > Do we also need a 6lowpan feature scc file? > > > > Sau! > > We have a 6lowpan feature. Right now its a minimal configuration to > satisfy those two CONFIGs, and is included in their features' > respective .scc files. We could have those 6LOWPAN CONFIGs in the > 6lowpan feature, but then we would need the 6lowpan feature to depend > on > these two features and add it everywhere one of these two features > are > used. I think this way is cleaner, but if you prefer it the other way > its a simple change. > Your right of course, I miss-read the above, so these are correct. Sau! > --- > Cal > > > > > > > > > > > 2.5.5 > > > > -- ___ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto
Re: [linux-yocto] [PATCH 0/1] Fix i915 merge
On 2016-08-22 2:20 PM, Sullivan, California L wrote: Hmm, the patches apply directly just fine. Preempt-rt has a few specific changes, but tiny has a zero diff for i915. I'm not sure why the default merge strategy isn't working. In any case, using 'git merge strategy=resolve' seems to work, we get the expected diff, and preempt-rt compiles again. Tiny compiles with the I can do that, but would have preferred a fixed up pull request, since -Xours always works as well, but isn't necessarily the right thing. I'll take care of the update, and if it is still broken, feel free to fire off more patches. old kernel tools. Tiny appears to not like the new kernel tools, as do_kernel_metadata fails until I revert back to old tools even with old SRCREVs, but I'll leave that for another time. I just built tiny for qemux86 with no issues: NOTE: Executing SetScene Tasks NOTE: Executing RunQueue Tasks WARNING: linux-yocto-tiny-4.4.18+gitAUTOINC+6a12efcabe_0a0c93f29c-r0 do_kernel_configcheck: [kernel config]: specified values did not make it into the kernel's final configuration: -- CONFIG_TINY_RCU - Config: CONFIG_TINY_RCU From: /home/bruce/poky/build/tmp/work-shared/qemux86/kernel-source/.kernel-meta/configs/standard/tiny/ktypes/tiny/tiny.cfg Requested value: CONFIG_TINY_RCU=y Actual value: Config 'TINY_RCU' has the following conditionals: !PREEMPT && !SMP (value: "n") Dependency values are: PREEMPT [y] y [y] SMP [y] -- CONFIG_BASE_SMALL - Config: CONFIG_BASE_SMALL From: /home/bruce/poky/build/tmp/work-shared/qemux86/kernel-source/.kernel-meta/configs/standard/tiny/ktypes/tiny/tiny.cfg Requested value: CONFIG_BASE_SMALL=1 Actual value: CONFIG_BASE_SMALL=0 Config 'BASE_SMALL' has the following conditionals: BASE_FULL (value: "y") !BASE_FULL (value: "n") Dependency values are: 1 [1] 0 [0] BASE_FULL [y] NOTE: Tasks Summary: Attempted 453 tasks of which 387 didn't need to be rerun and all succeeded. Summary: There were 5 WARNING messages shown. Bruce --- Cal On 08/19/2016 09:24 PM, Bruce Ashfield wrote: On 2016-08-19 11:35 PM, California Sullivan wrote: Eric, Bruce, please make sure my strategy with this fix is sane before merging. Looks sane to me, if it gets things building .. that's good enough for now. We can always apply more patches. If it is, please apply it to standard/intel/base and merge into all the other intel branches. I put this onto standard/intel/base and merged it into standard/intel/bxt-rebase. But I'm getting drm conflicts when I merged standard/intel/base into standard/preempt-rt/intel/base and standard/tiny/intel/base. So we need to look at those branches and identify what is missing (since I already have the same 4.4.18 and drm content merged to it already). Bruce Thanks, Cal Sullivan California Sullivan (1): drm/i915: Fix i915 merge with v4.4.16 drivers/gpu/drm/i915/i915_reg.h | 2 ++ drivers/gpu/drm/i915/intel_dp.c | 11 +-- drivers/gpu/drm/i915/intel_dp_link_training.c | 26 ++ drivers/gpu/drm/i915/intel_drv.h | 2 -- 4 files changed, 9 insertions(+), 32 deletions(-) -- ___ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto
Re: [linux-yocto] [PATCH 1/3] features: Fix dependencies and =m vs =y discrepancies for corei7
On 08/20/2016 08:45 PM, Wold, Saul wrote: > On Fri, 2016-08-19 at 20:40 -0700, California Sullivan wrote: >> I missed these in my first pass. This should fix the remaining >> warnings >> that occur with the intel-corei7-64 configurations. The ISDN >> configurations might need to be broken out into their own feature but >> for now just enable them as dependencies for BT_CMTP. >> >> Signed-off-by: California Sullivan >> --- >> features/bluetooth/bluetooth.cfg | 7 ++- >> features/ieee802154/ieee802154.cfg | 2 +- >> 2 files changed, 7 insertions(+), 2 deletions(-) >> >> diff --git a/features/bluetooth/bluetooth.cfg >> b/features/bluetooth/bluetooth.cfg >> index fefb357..67d3f52 100644 >> --- a/features/bluetooth/bluetooth.cfg >> +++ b/features/bluetooth/bluetooth.cfg >> @@ -1,5 +1,10 @@ >> +# Dependencies >> +CONFIG_ISDN=y >> +CONFIG_ISDN_CAPI=m >> + >> +# Features >> CONFIG_BT=y >> -CONFIG_BT_6LOWPAN=y >> +CONFIG_BT_6LOWPAN=m >> CONFIG_BT_RFCOMM=m >> CONFIG_BT_RFCOMM_TTY=y >> CONFIG_BT_BNEP=m >> diff --git a/features/ieee802154/ieee802154.cfg >> b/features/ieee802154/ieee802154.cfg >> index bd6c214..518adf0 100644 >> --- a/features/ieee802154/ieee802154.cfg >> +++ b/features/ieee802154/ieee802154.cfg >> @@ -1,2 +1,2 @@ >> CONFIG_IEEE802154=y >> -CONFIG_IEEE802154_6LOWPAN=y >> +CONFIG_IEEE802154_6LOWPAN=m >> -- > Do we also need a 6lowpan feature scc file? > > Sau! We have a 6lowpan feature. Right now its a minimal configuration to satisfy those two CONFIGs, and is included in their features' respective .scc files. We could have those 6LOWPAN CONFIGs in the 6lowpan feature, but then we would need the 6lowpan feature to depend on these two features and add it everywhere one of these two features are used. I think this way is cleaner, but if you prefer it the other way its a simple change. --- Cal > >> 2.5.5 >> -- ___ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto
Re: [linux-yocto] [PATCH 0/1] Fix i915 merge
Hmm, the patches apply directly just fine. Preempt-rt has a few specific changes, but tiny has a zero diff for i915. I'm not sure why the default merge strategy isn't working. In any case, using 'git merge strategy=resolve' seems to work, we get the expected diff, and preempt-rt compiles again. Tiny compiles with the old kernel tools. Tiny appears to not like the new kernel tools, as do_kernel_metadata fails until I revert back to old tools even with old SRCREVs, but I'll leave that for another time. --- Cal On 08/19/2016 09:24 PM, Bruce Ashfield wrote: > On 2016-08-19 11:35 PM, California Sullivan wrote: >> Eric, Bruce, please make sure my strategy with this fix is sane before >> merging. > Looks sane to me, if it gets things building .. that's good enough > for now. We can always apply more patches. > >> If it is, please apply it to standard/intel/base and merge into all the >> other intel branches. > I put this onto standard/intel/base and merged it into > standard/intel/bxt-rebase. > > But I'm getting drm conflicts when I merged standard/intel/base into > standard/preempt-rt/intel/base and standard/tiny/intel/base. So we need > to look at those branches and identify what is missing (since I already > have the same 4.4.18 and drm content merged to it already). > > Bruce > >> Thanks, >> Cal Sullivan >> >> California Sullivan (1): >> drm/i915: Fix i915 merge with v4.4.16 >> >> drivers/gpu/drm/i915/i915_reg.h | 2 ++ >> drivers/gpu/drm/i915/intel_dp.c | 11 +-- >> drivers/gpu/drm/i915/intel_dp_link_training.c | 26 >> ++ >> drivers/gpu/drm/i915/intel_drv.h | 2 -- >> 4 files changed, 9 insertions(+), 32 deletions(-) >> > -- ___ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto
Re: [linux-yocto] [PATCH 1/3] drivers/misc: Axxia MTC Driver Memory Initialization Check
> > Axxia MTC driver changes: > - Memory initialization completion check added > - ECC error status clearing added > > Signed-off-by: Sreedevi Joshi > --- > drivers/misc/lsi-mtc.c | 18 ++ > 1 file changed, 18 insertions(+) > > diff --git a/drivers/misc/lsi-mtc.c b/drivers/misc/lsi-mtc.c index > 55c3403..f4fbe6f 100644 > --- a/drivers/misc/lsi-mtc.c > +++ b/drivers/misc/lsi-mtc.c > @@ -31,6 +31,7 @@ > #include > #include "linux/lsi_mtc_ioctl.h" > > +#define MTC_POLL_TIMEOUT (msecs_to_jiffies(1000)) > > /* > device tree node: > @@ -4114,6 +4115,8 @@ static long _mtc_config(struct mtc_device *dev, > struct lsi_mtc_cfg_t *pMTCCfg) > struct ncp_axis_mtc_MTC_CONFIG0_REG_ADDR_r_t cfg0 = { 0 }; > struct ncp_axis_mtc_MTC_CONFIG1_REG_ADDR_r_t cfg1 = { 0 }; > struct ncp_axis_mtc_MTC_EXECUTE1_REG_ADDR_r_t exec1 = { 0 }; > + u32 init_reg = { 0 }; > + unsigned long tmo = 0; > > if ((!pMTCCfg) || (!dev)) > return -EINVAL; > @@ -4129,6 +4132,21 @@ static long _mtc_config(struct mtc_device *dev, > struct lsi_mtc_cfg_t *pMTCCfg) > exec1.sw_reset = 1; > dev->regs->execute = *((u32 *) &exec1); > dev->regs->mem_init = 0x202; > + /* wait for the init to complete */ > + tmo = jiffies + MTC_POLL_TIMEOUT; > + do { > + init_reg = *(&(dev->regs->mem_init)); I'm not familiar with this code but I don't think this is the way to read a register , why not using readl(), you are at least missing memory barrier here. > + if ((init_reg & 0x101) == 0x101) > + break; > + } while (time_before(jiffies, tmo)); This is busy loop, how fast is that going to settle ? > + > + if ((init_reg & 0x101) != 0x101) { > + pr_debug("warning: mem_init failed value=0x%x > (expected:0x101)\n", > +init_reg); > + } > + > + /* clear ECC interrupt status */ > + dev->regs->ecc_int_status = 0xF; > > /* 3. config MTC */ > cfg0 = > -- > 2.7.4 > > -- > ___ > linux-yocto mailing list > linux-yocto@yoctoproject.org > https://lists.yoctoproject.org/listinfo/linux-yocto -- ___ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto
[linux-yocto] [PATCH 3/3] axxia: Add Link Reset to the 5600 Axxia PCIe Driver
From: John Jacques Add the ability to re-establish a link to the Axxia 5600 PCIe driver. Signed-off-by: John Jacques --- drivers/misc/axxia-pei.c | 133 ++ drivers/pci/host/pcie-axxia.c | 103 2 files changed, 84 insertions(+), 152 deletions(-) diff --git a/drivers/misc/axxia-pei.c b/drivers/misc/axxia-pei.c index c750fc9..e78cf60 100644 --- a/drivers/misc/axxia-pei.c +++ b/drivers/misc/axxia-pei.c @@ -39,6 +39,7 @@ static int is_5600; static int is_6700; static void __iomem *pcie_gpreg0; +static void __iomem *pcie_rc; enum SataMode { SATA0, @@ -507,68 +508,6 @@ void setup_srio_mode(enum SrioMode mode, enum SrioSpeed speed) } } -void enable_reset(u32 phy) -{ - u32 regVal; - - if (phy == 0) { - ncr_read32(NCP_REGION_ID(0x115, 0), 0x0, - ®Val); - regVal |= (1 << 5); - ncr_write32(NCP_REGION_ID(0x115, 0), 0x0, - regVal); - } else if (phy == 1) { - ncr_read32(NCP_REGION_ID(0x115, 0), 0x0, - ®Val); - regVal |= (1 << 14); - ncr_write32(NCP_REGION_ID(0x115, 0), 0x0, - regVal); - } else if (phy == 2) { - ncr_read32(NCP_REGION_ID(0x115, 0), 0x4, - ®Val); - regVal |= (1 << 19); - ncr_write32(NCP_REGION_ID(0x115, 0), 0x4, - regVal); /* jl */ - } else if (phy == 3) { - ncr_read32(NCP_REGION_ID(0x115, 0), 0x4, - ®Val); - regVal |= (1 << 29); - ncr_write32(NCP_REGION_ID(0x115, 0), 0x4, - regVal); /* jl */ - } -} - -void release_reset(u32 phy) -{ - u32 regVal; - - if (phy == 0) { - ncr_read32(NCP_REGION_ID(0x115, 0), 0x0, - ®Val); - regVal &= (~(1 << 5)); - ncr_write32(NCP_REGION_ID(0x115, 0), 0x0, - regVal); - } else if (phy == 1) { - ncr_read32(NCP_REGION_ID(0x115, 0), 0x0, - ®Val); - regVal &= (~(1 << 14)); - ncr_write32(NCP_REGION_ID(0x115, 0), 0x0, - regVal); - } else if (phy == 2) { - ncr_read32(NCP_REGION_ID(0x115, 0), 0x4, - ®Val); - regVal &= (~(1 << 19)); - ncr_write32(NCP_REGION_ID(0x115, 0), 0x4, - regVal); /* jl */ - } else if (phy == 3) { - ncr_read32(NCP_REGION_ID(0x115, 0), 0x4, - ®Val); - regVal &= (~(1 << 29)); - ncr_write32(NCP_REGION_ID(0x115, 0), 0x4, - regVal); /* jl */ - } -} - int check_pll_lock(enum PLLMode mode, u32 phy) { u32 regVal; @@ -732,13 +671,14 @@ pei_setup(unsigned int control) val = readl(pcie_gpreg0 + 0x8038); val &= (~(0x1)); writel(val, pcie_gpreg0 + 0x8038); + msleep(100); - for (phy = 0; phy < 4; phy++) - enable_reset(phy); - + ncr_read32(NCP_REGION_ID(0x115, 0), 0x0, &phyVal0); + phyVal0 &= ~1; + ncr_write32(NCP_REGION_ID(0x115, 0), 0x0, phyVal0); mdelay(100);/* TODO: Why is this needed? */ - switch ((control & 0x03c0) >> 22) { + switch ((control & 0x03c0) >> 22) { /* bits 25:22 */ case 0: /* PEI0x8 */ rc_mode = (control & 0x80)<<15; /* jl */ @@ -747,30 +687,18 @@ pei_setup(unsigned int control) ncr_write32(NCP_REGION_ID(0x115, 0), 0x0, phyVal0); /* PIPE port select -- Enable PIPE0 interface */ ncr_write32(NCP_REGION_ID(0x115, 0), 0x4, (0x1<<24)); - for (phy = 0; phy < 4; phy++) - release_reset(phy); break; case 1: - /* PEI0x4_PEI1x4 */ - rc_mode = (control & 0x80)<<15; /* jl */ - /* Enable PEI0/PEI1, PEI0 RC mode */ - phyVal0 = (control & 0x3) | rc_mode; /* jl */ - /* PEI0x4 */ - phyVal0 |= (0x1 << 26); - ncr_write32(NCP_REGION_ID(0x115, 0), 0x0, phyVal0); - /* PEI1x4 */ - phyVal1 = (0x1 << 22); - /* PIPE port select -- Enable PIPE0/PIPE1 interface */ - phyVal1 |= (0x2 << 24); - ncr_write32(NCP_REGION_ID(0x115, 0), 0x4, phyVal1); - - for (phy = 0; phy < 4; phy++) - release_reset(phy); + /* + PEI0x4, PEI1x4 + */ - /* //jl read back phy registers to check values */ - ncr_read32(NCP_REGION_ID(0x115, 0), 0x0, &phyVal0); -
[linux-yocto] [PATCH 1/3] drivers/misc: Axxia MTC Driver Memory Initialization Check
From: Sreedevi Joshi Axxia MTC driver changes: - Memory initialization completion check added - ECC error status clearing added Signed-off-by: Sreedevi Joshi --- drivers/misc/lsi-mtc.c | 18 ++ 1 file changed, 18 insertions(+) diff --git a/drivers/misc/lsi-mtc.c b/drivers/misc/lsi-mtc.c index 55c3403..f4fbe6f 100644 --- a/drivers/misc/lsi-mtc.c +++ b/drivers/misc/lsi-mtc.c @@ -31,6 +31,7 @@ #include #include "linux/lsi_mtc_ioctl.h" +#define MTC_POLL_TIMEOUT (msecs_to_jiffies(1000)) /* device tree node: @@ -4114,6 +4115,8 @@ static long _mtc_config(struct mtc_device *dev, struct lsi_mtc_cfg_t *pMTCCfg) struct ncp_axis_mtc_MTC_CONFIG0_REG_ADDR_r_t cfg0 = { 0 }; struct ncp_axis_mtc_MTC_CONFIG1_REG_ADDR_r_t cfg1 = { 0 }; struct ncp_axis_mtc_MTC_EXECUTE1_REG_ADDR_r_t exec1 = { 0 }; + u32 init_reg = { 0 }; + unsigned long tmo = 0; if ((!pMTCCfg) || (!dev)) return -EINVAL; @@ -4129,6 +4132,21 @@ static long _mtc_config(struct mtc_device *dev, struct lsi_mtc_cfg_t *pMTCCfg) exec1.sw_reset = 1; dev->regs->execute = *((u32 *) &exec1); dev->regs->mem_init = 0x202; + /* wait for the init to complete */ + tmo = jiffies + MTC_POLL_TIMEOUT; + do { + init_reg = *(&(dev->regs->mem_init)); + if ((init_reg & 0x101) == 0x101) + break; + } while (time_before(jiffies, tmo)); + + if ((init_reg & 0x101) != 0x101) { + pr_debug("warning: mem_init failed value=0x%x (expected:0x101)\n", + init_reg); + } + + /* clear ECC interrupt status */ + dev->regs->ecc_int_status = 0xF; /* 3. config MTC */ cfg0 = -- 2.7.4 -- ___ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto
[linux-yocto] [PATCH 2/3] drivers/pci: Change the Axxia GEN3 EQ Control Value
From: John Jacques New default based on hardware verification. Signed-off-by: John Jacques --- drivers/pci/host/pcie-axxia.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/pci/host/pcie-axxia.c b/drivers/pci/host/pcie-axxia.c index 5ff5806..de383e0 100644 --- a/drivers/pci/host/pcie-axxia.c +++ b/drivers/pci/host/pcie-axxia.c @@ -567,7 +567,7 @@ void axxia_pcie_setup_rc(struct pcie_port *pp) val |= PCI_COMMAND_IO | PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER | PCI_COMMAND_SERR; axxia_pcie_writel_rc(pp, val, PCI_COMMAND); - axxia_pcie_writel_rc(pp, 0x1037201, 0x8a8); + axxia_pcie_writel_rc(pp, 0x1017201, 0x8a8); /* LTSSM enable */ axxia_cc_gpreg_readl(pp, PEI_GENERAL_CORE_CTL_REG, &val); -- 2.7.4 -- ___ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto
[linux-yocto] [PATCH 0/3] Intel Axxia updates to linux-yocto-4.1
Hello Bruce! This series of patches brings improvements for MISC and PCI drivers. Please apply the patches to both axxia branches: standard/axxia/base and standard/preempt-rt/axxia/base, Axxia internal tag: 1.38 Thank you, Daniel Dragomir John Jacques (2): drivers/pci: Change the Axxia GEN3 EQ Control Value axxia: Add Link Reset to the 5600 Axxia PCIe Driver Sreedevi Joshi (1): drivers/misc: Axxia MTC Driver Memory Initialization Check drivers/misc/axxia-pei.c | 133 ++ drivers/misc/lsi-mtc.c| 18 ++ drivers/pci/host/pcie-axxia.c | 103 3 files changed, 102 insertions(+), 152 deletions(-) -- 2.7.4 -- ___ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto